﻿
/* =============================================
   EXTENSION — New utility classes
   ============================================= */

/* Layout Utilities */
.section-inner { max-width: 1400px; margin: 0 auto; padding: 0 clamp(1.5rem,4vw,4rem); }
.overline-label { font-family: var(--font-mono); font-size: 10px; letter-spacing: .35em; color: var(--neon-cyan); text-transform: uppercase; margin-bottom: 1.25rem; display: block; }
.intro-statement .overline-label { color: var(--neon-cyan); }
.section-heading-xl { font-family: var(--font-display); font-weight: 700; font-size: clamp(2.5rem,7vw,6rem); line-height: 1.05; color: #fff; margin-bottom: 1.5rem; }
.section-heading-lg { font-family: var(--font-display); font-weight: 700; font-size: clamp(2rem,5vw,4rem); line-height: 1.05; color: #fff; margin-bottom: 1rem; }
.section-heading-md { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.5rem,4vw,3rem); line-height: 1.1; color: #fff; margin-bottom: 1rem; }
.section-body { color: #94a3b8; font-size: .875rem; line-height: 1.85; }
.text-dim-heavy { color: rgba(255,255,255,.25); }
.text-dim-low { color: rgba(255,255,255,.25); }
.text-gradient-cp { background: linear-gradient(to right, var(--neon-cyan), var(--cyber-purple)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.text-neon-cyan { color: var(--neon-cyan); }
.section-header-split { display: flex; flex-direction: column; gap: 2rem; }
@media (min-width: 768px) { .section-header-split { flex-direction: row; align-items: flex-end; justify-content: space-between; } }
@media (min-width: 768px) { .text-right-md { text-align: right; } }
.border-top-subtle { border-top: 1px solid rgba(255,255,255,.05); }
.border-b-subtle { border-bottom: 1px solid rgba(255,255,255,.06); }
.section-footer-cta { margin-top: 2.5rem; display: flex; flex-direction: column; gap: 1.5rem; }
@media (min-width: 640px) { .section-footer-cta { flex-direction: row; align-items: center; } }
.mb-14 { margin-bottom: 3.5rem; }
.mb-12 { margin-bottom: 3rem; }
.mb-10 { margin-bottom: 2.5rem; }
.mb-8 { margin-bottom: 2rem; }
.mt-12 { margin-top: 3rem; }
.mx-auto { margin-left: auto; margin-right: auto; }

/* Button Variants */
.btn-cyan-outline { background: transparent; color: var(--neon-cyan); border: 2px solid var(--neon-cyan); font-family: var(--font-display); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; padding: 1rem 2rem; border-radius: 4px; transition: all .3s; display: inline-flex; align-items: center; }
.btn-cyan-outline:hover { background: var(--neon-cyan); color: #000; box-shadow: 0 0 20px rgba(0,243,255,.5); }
.btn-outline-white { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.3); font-family: var(--font-display); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; padding: 1rem 2rem; border-radius: 4px; transition: all .3s; display: inline-flex; align-items: center; }
.btn-outline-white:hover { border-color: var(--neon-cyan); background: var(--neon-cyan); color: #000; }
.link-mono { font-family: var(--font-mono); font-size: 10px; color: rgba(255,255,255,.6); text-transform: uppercase; letter-spacing: .15em; transition: color .3s; }
.link-mono:hover { color: var(--neon-cyan); }
.btn-submit { width: 100%; padding: .875rem; background: var(--neon-cyan); color: #000; font-family: var(--font-display); font-weight: 700; letter-spacing: .15em; font-size: .75rem; text-transform: uppercase; border: none; border-radius: .75rem; cursor: pointer; transition: all .3s; }
.btn-submit:hover { background: #fff; }
.btn-submit:disabled { opacity: .4; cursor: not-allowed; }
.btn-send-another { font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: .15em; color: rgba(255,255,255,.4); border: 1px solid rgba(255,255,255,.1); border-radius: .75rem; padding: .75rem 1.5rem; background: none; cursor: pointer; transition: all .2s; }
.btn-send-another:hover { color: var(--neon-cyan); border-color: rgba(0,243,255,.3); }
.link-back { font-family: var(--font-mono); font-size: 10px; color: rgba(255,255,255,.4); text-transform: uppercase; letter-spacing: .15em; transition: color .2s; }
.link-back:hover { color: var(--neon-cyan); }

/* Hero Extensions */
.hero-word-white { display: block; font-size: clamp(3.15rem, 9.63vw, 8.1rem); color: #fff; }
.hero-word-cyan { display: block; font-size: clamp(3.15rem, 9.63vw, 8.1rem); color: var(--neon-cyan); }
.hero-proof-divider { width: 1px; height: 12px; background: rgba(0,243,255,.2); }
.scroll-line { width: 1px; height: 2.5rem; background: linear-gradient(to bottom, rgba(255,255,255,.25), transparent); }

/* Page Layout */
.page-main { min-height: 100vh; padding-top: 5rem; background: var(--deep-space); }
.page-hero { padding: 9rem clamp(1.5rem,4vw,4rem) 5rem; max-width: 1400px; margin: 0 auto; position: relative; }
.page-heading { font-family: var(--font-display); font-weight: 700; font-size: clamp(3rem,8vw,6rem); line-height: .95; color: #fff; }
.content-section { padding: 5rem 0; }

/* About Page */
.two-col-grid { display: grid; grid-template-columns: 1fr; gap: 3rem; }
@media (min-width: 1024px) { .two-col-grid { grid-template-columns: 1fr 1fr; gap: 5rem; } }
.about-cards-col { display: flex; flex-direction: column; gap: 0; }
.about-card { border: 1px solid rgba(255,255,255,.08); border-radius: 1.25rem; padding: 2rem; background: rgba(255,255,255,.02); margin-bottom: 1rem; }
.about-card:last-child { margin-bottom: 0; }
.about-card-hover { transition: border-color .3s, background .3s; }
.about-card-hover:hover { border-color: rgba(0,243,255,.35); background: rgba(0,243,255,.05); }
.about-card-hover:hover .box-label { color: var(--neon-cyan); }
.box-label { font-family: var(--font-mono); font-size: 9px; color: rgba(0,243,255,.6); text-transform: uppercase; letter-spacing: .2em; margin-bottom: .75rem; display: block; }
.values-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 768px) { .values-grid { grid-template-columns: 1fr 1fr; } }
.value-card { display: flex; gap: 1.5rem; border: 1px solid rgba(255,255,255,.08); border-radius: 1.25rem; padding: 2rem; background: rgba(255,255,255,.02); transition: all .3s; }
.value-card:hover { border-color: rgba(0,243,255,.25); background: rgba(255,255,255,.035); }
.value-num { font-family: var(--font-mono); font-size: 10px; color: rgba(0,243,255,.35); letter-spacing: .25em; flex-shrink: 0; padding-top: 4px; }
.value-title { font-family: var(--font-display); font-weight: 700; font-size: 1rem; color: #fff; text-transform: uppercase; letter-spacing: .05em; margin-bottom: .75rem; transition: color .3s; line-height: 1.2; }
.value-card:hover .value-title { color: var(--neon-cyan); }
.pillars-list { border-top: 1px solid rgba(255,255,255,.08); }
.pillar-row { display: flex; align-items: flex-start; gap: 2rem; padding: 2rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.pillar-num { font-family: var(--font-mono); font-size: 10px; color: rgba(0,243,255,.4); letter-spacing: .25em; flex-shrink: 0; padding-top: 4px; width: 1.5rem; }
.pillar-content { display: grid; grid-template-columns: 1fr; gap: 1rem; flex: 1; }
@media (min-width: 768px) { .pillar-content { grid-template-columns: 240px 1fr; gap: 3rem; } }
.pillar-title { font-family: var(--font-display); font-weight: 700; font-size: 1rem; color: #fff; text-transform: uppercase; letter-spacing: .05em; line-height: 1.2; transition: color .3s; }
.pillar-row:hover .pillar-title { color: var(--neon-cyan); }
.process-grid { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 768px) { .process-grid { grid-template-columns: 1fr 1fr; } }
.process-card { border: 1px solid rgba(255,255,255,.08); border-radius: 1.25rem; padding: 2rem; background: rgba(255,255,255,.02); transition: all .3s; }
.process-card:hover { border-color: rgba(0,243,255,.25); background: rgba(255,255,255,.035); }
.process-num { font-family: var(--font-mono); font-size: 1.5rem; font-weight: 700; color: var(--neon-cyan); margin-bottom: 1rem; }
.process-title { font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; color: #fff; text-transform: uppercase; margin-bottom: .75rem; transition: color .3s; line-height: 1.2; }
.process-card:hover .process-title { color: var(--neon-cyan); }
.promise-block { border: 1px solid rgba(0,243,255,.15); border-radius: 1.25rem; padding: clamp(2.5rem,5vw,3.5rem); background: linear-gradient(135deg, rgba(0,243,255,.05), rgba(189,0,255,.05)); position: relative; overflow: hidden; }
.promise-corner-tl { position: absolute; top: 0; left: 0; width: 64px; height: 64px; border-top: 2px solid rgba(0,243,255,.3); border-left: 2px solid rgba(0,243,255,.3); border-radius: 1.25rem 0 0 0; pointer-events: none; }
.promise-corner-br { position: absolute; bottom: 0; right: 0; width: 64px; height: 64px; border-bottom: 2px solid rgba(189,0,255,.2); border-right: 2px solid rgba(189,0,255,.2); border-radius: 0 0 1.25rem 0; pointer-events: none; }
.promise-inner { position: relative; z-index: 1; max-width: 48rem; margin: 0 auto; text-align: center; }
.promise-quote { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.25rem,3vw,2.5rem); color: #fff; line-height: 1.3; margin-bottom: 2rem; }

/* Stat Cell shared */
.stat-cell { padding: 2rem 2.5rem; background: rgba(255,255,255,.02); transition: background .3s; border-right: 1px solid rgba(255,255,255,.08); }
.stat-cell:last-child { border-right: none; }
.stat-cell:hover { background: rgba(255,255,255,.04); }
.stat-value { font-family: var(--font-display); font-size: clamp(1.75rem,3vw,2.5rem); font-weight: 700; color: var(--neon-cyan); margin-bottom: .5rem; }
.stat-label { font-family: var(--font-mono); font-size: 9px; color: #64748b; text-transform: uppercase; letter-spacing: .18em; line-height: 1.4; }
.about-stats { display: grid; grid-template-columns: repeat(3,1fr); border: 1px solid rgba(255,255,255,.08); border-radius: 1rem; overflow: hidden; margin-bottom: 3rem; }

/* Demo section extensions */
.demo-section { position: relative; overflow: hidden; padding: 6rem 0; background: var(--deep-space); }
.demo-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .2; z-index: 0; }
.demo-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(0,0,0,.9), rgba(0,0,0,.8), rgba(0,0,0,.5)); z-index: 1; }
.demo-grid { display: grid; grid-template-columns: 1fr; gap: 3rem; align-items: center; }
@media (min-width: 768px) { .demo-grid { grid-template-columns: 1fr 1fr; gap: 5rem; } }
.demo-headline { font-family: var(--font-display); font-weight: 700; font-size: clamp(2.5rem,6vw,5rem); line-height: 1; margin-bottom: 2rem; text-transform: uppercase; }
.step-num { font-family: var(--font-mono); font-size: .875rem; font-weight: 700; color: var(--neon-cyan); flex-shrink: 0; margin-top: 2px; }
.step-title { font-family: var(--font-display); font-weight: 700; font-size: .875rem; color: #fff; text-transform: uppercase; letter-spacing: .05em; margin-bottom: .25rem; transition: color .3s; }
.demo-step:hover .step-title { color: var(--neon-cyan); }
.step-body { color: #64748b; font-size: .75rem; line-height: 1.65; }
.step-footnote { font-family: var(--font-mono); font-size: 9px; color: rgba(255,255,255,.38); text-transform: uppercase; letter-spacing: .15em; margin-top: 1.25rem; padding: 0 .25rem; }

/* Labs preview */
.labs-preview-list { position: relative; z-index: 2; }
.labs-disclaimer { font-family: var(--font-mono); font-size: 10px; color: #94a3b8; text-transform: uppercase; letter-spacing: .15em; display: flex; align-items: center; gap: .5rem; margin-bottom: 1rem; }
.labs-footer { position: relative; z-index: 2; }

/* FAQ footer */
.faq-footer { margin-top: 2rem; }
#faq-toggle { font-family: var(--font-mono); font-size: 10px; text-transform: uppercase; letter-spacing: .15em; color: rgba(255,255,255,.55); background: none; border: 1px solid rgba(255,255,255,.12); border-radius: 100px; padding: .625rem 1.5rem; transition: all .3s; cursor: pointer; }
#faq-toggle:hover { color: var(--neon-cyan); border-color: rgba(0,243,255,.3); }

/* Contact extensions */
.contact-creative { position: relative; overflow: hidden; padding: 6rem 0; background: #000; }
.contact-bg { position: absolute; inset: 0; overflow: hidden; }
.contact-bg-img { width: 100%; height: 100%; object-fit: cover; opacity: .15; filter: blur(4px); }
.contact-bg-overlay { position: absolute; inset: 0; background: rgba(0,0,0,.7); }
.contact-glass { max-width: 1300px; margin: 0 auto; display: grid; grid-template-columns: 1fr; border: 1px solid rgba(255,255,255,.08); border-radius: 1.25rem; overflow: hidden; backdrop-filter: blur(20px); }
@media (min-width: 1024px) { .contact-glass { grid-template-columns: 1fr 1.4fr; } }
.contact-info { padding: 3rem 4rem; border-right: 1px solid rgba(255,255,255,.1); background: rgba(0,0,0,.4); display: flex; flex-direction: column; justify-content: space-between; gap: 2.5rem; }
@media (max-width: 1023px) { .contact-info { border-right: none; border-bottom: 1px solid rgba(255,255,255,.1); padding: 2rem; } }
.contact-heading { font-family: var(--font-display); font-weight: 700; font-size: clamp(2rem,4vw,3rem); color: #fff; line-height: 1.2; margin-bottom: 1.5rem; margin-top: .5rem; }
.contact-meta { display: flex; flex-direction: column; gap: 1.5rem; margin-top: 2.5rem; }
.contact-status { display: flex; align-items: center; gap: .75rem; }
.contact-who-box { border: 1px solid rgba(255,255,255,.06); border-radius: .75rem; padding: 1.25rem; background: rgba(255,255,255,.02); display: flex; flex-direction: column; gap: .75rem; }
.contact-who-item { display: flex; align-items: flex-start; gap: .75rem; }
.who-bullet { color: var(--neon-cyan); font-size: 10px; flex-shrink: 0; margin-top: 2px; }
.contact-who-item p { color: #e2e8f0; font-size: .75rem; line-height: 1.6; }
.contact-details-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.contact-email { font-size: .875rem; color: #fff; transition: color .2s; }
.contact-email:hover { color: var(--neon-cyan); }
.contact-form-panel { padding: 3rem 3.5rem 3.5rem 5rem; background: rgba(255,255,255,.03); backdrop-filter: blur(20px); display: flex; flex-direction: column; }
@media (max-width: 1023px) { .contact-form-panel { padding: 2rem; } }
.form-header { margin-bottom: 2rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.form-meta-label { font-family: var(--font-mono); font-size: 9px; letter-spacing: .3em; color: rgba(0,243,255,.7); text-transform: uppercase; margin-bottom: .5rem; }
.form-meta-sub { color: rgba(255,255,255,.6); font-size: .875rem; line-height: 1.6; }
.contact-success { display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1; min-height: 22rem; text-align: center; padding: 2rem; }
.success-circle { width: 3.5rem; height: 3.5rem; border-radius: 50%; border: 1px solid rgba(0,243,255,.5); display: flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; color: var(--neon-cyan); font-size: 1.25rem; }
.success-title { font-family: var(--font-display); font-weight: 700; font-size: 1.25rem; color: #fff; text-transform: uppercase; margin-bottom: .75rem; }
.form-row-2 { display: grid; grid-template-columns: 1fr; gap: 1.25rem; margin-bottom: 1.25rem; }
@media (min-width: 640px) { .form-row-2 { grid-template-columns: 1fr 1fr; } }
.form-field { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1.25rem; }
.form-label { display: flex; align-items: center; gap: .5rem; font-family: var(--font-mono); font-size: 9px; color: #94a3b8; text-transform: uppercase; letter-spacing: .2em; }
.form-num { font-size: 8px; color: rgba(0,243,255,.4); letter-spacing: .15em; }
.form-error { color: rgba(248,113,113,.8); font-family: var(--font-mono); font-size: 10px; letter-spacing: .05em; padding: .5rem 0; }
.form-submit-wrap { padding-top: .5rem; }
.form-trust-row { display: flex; align-items: center; justify-content: center; gap: 1.25rem; margin-top: 1rem; flex-wrap: wrap; }
.trust-item { font-family: var(--font-mono); font-size: 10px; color: rgba(255,255,255,.6); text-transform: uppercase; letter-spacing: .15em; display: flex; align-items: center; gap: .375rem; }
.trust-dot { width: 4px; height: 4px; border-radius: 50%; background: rgba(0,243,255,.6); display: inline-block; }

/* Command Panel */
.command-panel { border: 1px solid rgba(255,255,255,.1); border-radius: 1.25rem; overflow: hidden; display: grid; grid-template-columns: 1fr; }
@media (min-width: 1024px) { .command-panel { grid-template-columns: 1fr 1.6fr; } }
.cp-left { border-right: 1px solid rgba(255,255,255,.08); }
@media (max-width: 1023px) { .cp-left { border-right: none; border-bottom: 1px solid rgba(255,255,255,.08); } }
.cp-left-header { padding: 1rem 1.5rem; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.015); position: relative; overflow: hidden; }
.cp-header-label { font-family: var(--font-mono); font-size: 9px; color: #64748b; text-transform: uppercase; letter-spacing: .2em; }
.cp-progress-bar { position: absolute; bottom: 0; left: 0; height: 1px; background: rgba(0,243,255,.4); }
.cp-right { display: flex; flex-direction: column; transition: opacity .2s; }
.cp-right-header { padding: 1.5rem 2rem; border-bottom: 1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.015); display: flex; align-items: center; justify-content: space-between; }
.cp-detail-id { display: flex; align-items: center; gap: .75rem; }
.service-detail-tag { font-family: var(--font-mono); font-size: 9px; color: rgba(0,243,255,.5); letter-spacing: .25em; }
.service-detail-sep { width: 1px; height: 12px; background: rgba(255,255,255,.15); }
.service-detail-subtitle { font-family: var(--font-mono); font-size: 9px; color: #64748b; text-transform: uppercase; letter-spacing: .15em; }
.cp-active-badge { display: flex; align-items: center; gap: .375rem; }
.cp-active-text { font-family: var(--font-mono); font-size: 8px; color: rgba(0,243,255,.5); text-transform: uppercase; letter-spacing: .15em; }
.cp-detail-content { padding: 2rem; flex: 1; display: flex; flex-direction: column; }
.service-detail-title { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.5rem,3vw,2.25rem); color: #fff; text-transform: uppercase; line-height: 1.2; margin-bottom: 1.25rem; }
.service-detail-desc { color: #e2e8f0; font-size: .875rem; line-height: 1.85; margin-bottom: 2rem; }
.service-nav-btn { width: 100%; text-align: left; display: flex; align-items: center; gap: 1rem; padding: 1.25rem 1.5rem; border-bottom: 1px solid rgba(255,255,255,.05); background: none; border-left: none; border-right: none; border-top: none; color: inherit; transition: all .2s; cursor: pointer; }
.service-nav-btn:hover { background: rgba(255,255,255,.02); }
.service-nav-btn.active { background: rgba(0,243,255,.08); border-left: 2px solid var(--neon-cyan); }
.service-nav-tag { font-family: var(--font-mono); font-size: 9px; letter-spacing: .25em; color: rgba(0,243,255,.25); width: 1.5rem; flex-shrink: 0; }
.service-nav-btn.active .service-nav-tag { color: var(--neon-cyan); }
.service-nav-title-wrap { flex: 1; }
.service-nav-title { font-family: var(--font-display); font-weight: 700; font-size: .875rem; text-transform: uppercase; line-height: 1.2; color: rgba(255,255,255,.7); transition: color .2s; }
.service-nav-btn.active .service-nav-title { color: var(--neon-cyan); }
.service-nav-btn:hover .service-nav-title { color: #fff; }
.service-nav-sub { font-family: var(--font-mono); font-size: 8px; color: rgba(255,255,255,.38); text-transform: uppercase; letter-spacing: .15em; margin-top: 2px; }
.service-nav-arrow { font-family: var(--font-mono); font-size: .75rem; color: var(--neon-cyan); display: none; }
.service-nav-btn.active .service-nav-arrow { display: block; }
.industry-tags { display: flex; flex-wrap: wrap; gap: .75rem; }

/* Labs page */
.labs-filter-bar { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0 clamp(1.5rem,4vw,4rem) 1rem; border-bottom: 1px solid rgba(255,255,255,.06); }
.labs-col-headers-full { display: none; padding: .75rem clamp(1.5rem,4vw,4rem); }
@media (min-width: 1024px) { .labs-col-headers-full { display: grid; grid-template-columns: 2.5rem 12rem 1fr 10rem 1fr 2rem; } }
.labs-col-headers-full span { font-family: var(--font-mono); font-size: 9px; color: rgba(255,255,255,.38); text-transform: uppercase; letter-spacing: .2em; padding: 0 .5rem; }
.labs-stats-grid { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid rgba(255,255,255,.08); border-radius: 1.25rem; overflow: hidden; margin-bottom: 2.5rem; }
@media (min-width: 768px) { .labs-stats-grid { grid-template-columns: repeat(4,1fr); } }
.labs-stats-grid .stat-cell { border-right: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); }

/* Academy */
.academy-section { background: var(--deep-space); border-top: 1px solid rgba(255,255,255,.05); }
.academy-inner { max-width: 1400px; margin: 0 auto; }
.academy-header { padding: 6rem 1.5rem 3rem; text-align: center; }
.academy-title { font-family: var(--font-display); font-weight: 700; font-size: clamp(2.5rem,7vw,5rem); color: #fff; text-transform: uppercase; line-height: 1.1; margin-bottom: 1rem; }
.academy-title-bar { height: 4px; width: 6rem; background: var(--neon-cyan); margin: 0 auto 2rem; }
.academy-badge { display: inline-flex; align-items: center; gap: .75rem; margin-top: 2rem; padding: .625rem 1.25rem; border: 1px solid rgba(0,243,255,.25); border-radius: 100px; background: rgba(0,243,255,.05); }
.academy-tracks { padding: 0 1.5rem 1.5rem; }
@media (min-width: 768px) { .academy-tracks { padding: 0 6rem 1.5rem; } }
.academy-track-row { display: grid; grid-template-columns: 3rem 3.5rem 1fr auto 2rem; align-items: center; gap: 1.5rem; padding: 1.5rem 0; border-bottom: 1px solid rgba(255,255,255,.06); cursor: pointer; transition: background .2s; }
@media (max-width: 639px) { .academy-track-row { grid-template-columns: 2rem 1fr 1.5rem; gap: .75rem; padding: 1.25rem 0; } }
.academy-track-row:hover { background: rgba(255,255,255,.02); }
.academy-track-number { font-family: var(--font-mono); font-size: 9px; color: rgba(0,243,255,.4); letter-spacing: .2em; }
.academy-track-icon { font-size: 1.5rem; color: var(--neon-cyan); }
@media (max-width: 639px) { .academy-track-icon { display: none; } }
.academy-track-content { flex: 1; min-width: 0; }
.academy-track-title { font-family: var(--font-display); font-weight: 700; font-size: clamp(.875rem,2.5vw,1.5rem); color: #fff; margin-bottom: 2px; }
.academy-track-tagline { color: #64748b; font-size: .7rem; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.academy-track-meta { display: flex; flex-direction: column; gap: .375rem; align-items: flex-end; }
@media (max-width: 639px) { .academy-track-meta { display: none; } }
@media (min-width: 640px) and (max-width: 900px) { .academy-track-meta { flex-direction: column; gap: .25rem; } }
.academy-meta-badge { font-family: var(--font-mono); font-size: 8px; text-transform: uppercase; letter-spacing: .1em; border: 1px solid rgba(255,255,255,.1); border-radius: 100px; padding: .25rem .625rem; color: rgba(255,255,255,.25); background: none; }
.badge-cyan { border-color: rgba(0,243,255,.3) !important; color: rgba(0,243,255,.7) !important; background: rgba(0,243,255,.05) !important; }
.academy-track-arrow { font-family: var(--font-mono); font-size: .875rem; color: rgba(255,255,255,.2); transition: transform .3s, color .3s; }
.academy-track-row:hover .academy-track-arrow { color: var(--neon-cyan); }
.academy-track-desc { padding: 1.25rem 0 1.5rem calc(3rem + 3.5rem + 3rem); border-bottom: 1px solid rgba(255,255,255,.05); background: rgba(0,243,255,.02); }
@media (max-width: 639px) { .academy-track-desc { padding: 1rem; } }
.academy-desc-link { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1rem; font-family: var(--font-mono); font-size: 10px; letter-spacing: .15em; color: var(--neon-cyan); text-transform: uppercase; transition: color .2s; }
.academy-desc-link:hover { color: #fff; }
.academy-cta-block { margin: 2rem 1.5rem 6rem; border: 1px solid rgba(0,243,255,.2); border-radius: 1.25rem; padding: 2.5rem; background: rgba(0,243,255,.03); position: relative; overflow: hidden; }
@media (min-width: 768px) { .academy-cta-block { margin: 2rem 6rem 6rem; padding: 2.5rem 3.5rem; } }
.academy-cta-glow { position: absolute; top: 0; right: 0; width: 16rem; height: 16rem; background: rgba(0,243,255,.05); filter: blur(80px); border-radius: 50%; pointer-events: none; }
.academy-cta-inner { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 2rem; }
@media (min-width: 768px) { .academy-cta-inner { flex-direction: row; align-items: center; justify-content: space-between; } }
.academy-cta-left { max-width: 32rem; }
.academy-cta-right { display: flex; flex-direction: column; gap: .75rem; flex-shrink: 0; }

/* ── Ecosystem / Academy Redesign ── */
.eco-hero-stats { display: flex; gap: 2rem; flex-wrap: wrap; margin-top: 2.5rem; }
.eco-hero-stat { display: flex; flex-direction: column; gap: .2rem; }
.eco-hero-stat strong { font-family: var(--font-display); font-weight: 700; font-size: clamp(1.5rem,4vw,2.5rem); color: var(--neon-cyan); line-height: 1; }
.eco-hero-stat span { font-family: var(--font-mono); font-size: 9px; color: rgba(255,255,255,.35); text-transform: uppercase; letter-spacing: .16em; }

.eco-pillars { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
@media (min-width: 640px) { .eco-pillars { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .eco-pillars { grid-template-columns: repeat(4,1fr); } }
.eco-pillar { border: 1px solid rgba(255,255,255,.07); border-radius: 1rem; padding: 2rem 1.75rem; background: rgba(255,255,255,.02); transition: border-color .3s, background .3s; }
.eco-pillar:hover { border-color: rgba(0,243,255,.2); background: rgba(0,243,255,.03); }
.eco-pillar-number { font-family: var(--font-mono); font-size: 9px; color: rgba(0,243,255,.4); letter-spacing: .2em; margin-bottom: .75rem; }
.eco-pillar-icon { font-size: 1.5rem; color: var(--neon-cyan); margin-bottom: .75rem; }
.eco-pillar-title { font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; color: #fff; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .75rem; }
.eco-pillar-body { color: #94a3b8; font-size: .8rem; line-height: 1.7; margin-bottom: 1rem; }
.eco-pillar-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .4rem; }
.eco-pillar-list li { font-family: var(--font-mono); font-size: 9px; color: rgba(255,255,255,.35); letter-spacing: .06em; padding-left: .875rem; position: relative; }
.eco-pillar-list li::before { content: '›'; position: absolute; left: 0; color: rgba(0,243,255,.4); }

.lab-steps { display: flex; flex-direction: column; gap: 0; }
.lab-step { display: grid; grid-template-columns: 3rem 1fr; gap: 1.5rem; padding: 1.75rem 0; border-bottom: 1px solid rgba(255,255,255,.05); }
.lab-step:last-child { border-bottom: none; }
.lab-step-num { font-family: var(--font-display); font-weight: 700; font-size: 1.5rem; color: rgba(0,243,255,.2); line-height: 1; padding-top: .2rem; }
.lab-step-title { font-family: var(--font-display); font-weight: 700; font-size: clamp(.9rem,2vw,1.1rem); color: #fff; text-transform: uppercase; letter-spacing: .04em; margin-bottom: .5rem; }
.lab-step-body { color: #94a3b8; font-size: .8rem; line-height: 1.75; }
.lab-note { display: flex; align-items: flex-start; gap: .75rem; margin-top: 2.5rem; padding: 1rem 1.25rem; border: 1px solid rgba(0,243,255,.15); border-radius: .5rem; background: rgba(0,243,255,.03); font-family: var(--font-mono); font-size: 9px; color: rgba(255,255,255,.35); letter-spacing: .06em; line-height: 1.7; }

.eco-experts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
@media (max-width: 639px) { .eco-experts-grid { grid-template-columns: 1fr; } }
@media (min-width: 1100px) { .eco-experts-grid { grid-template-columns: repeat(4,1fr); } }
.eco-expert-card { border: 1px solid rgba(255,255,255,.07); border-radius: 1rem; padding: 1.75rem; background: rgba(255,255,255,.02); }
.eco-expert-icon { font-size: 1.4rem; color: var(--neon-cyan); margin-bottom: .75rem; }
.eco-expert-title { font-family: var(--font-display); font-weight: 700; font-size: .9rem; color: #fff; text-transform: uppercase; letter-spacing: .05em; margin-bottom: .625rem; }
.eco-expert-body { color: #64748b; font-size: .78rem; line-height: 1.7; }

.active-track .academy-track-arrow { color: var(--neon-cyan); }
.active-track .academy-track-number { color: var(--neon-cyan); }

/* Prompt Engineering & AI for Business program pages */
.pe-modules { display: flex; flex-direction: column; gap: 0; }
.pe-module { padding: 2.5rem 0; border-bottom: 1px solid rgba(255,255,255,.07); }
.pe-module:last-child { border-bottom: none; }
.pe-module-header { display: flex; align-items: center; gap: 1.5rem; margin-bottom: 1rem; flex-wrap: wrap; }
.pe-module-num { font-family: var(--font-mono); font-size: 9px; color: var(--neon-cyan); letter-spacing: .2em; text-transform: uppercase; }
.pe-module-weeks { font-family: var(--font-mono); font-size: 9px; color: rgba(255,255,255,.25); letter-spacing: .12em; text-transform: uppercase; }
.pe-module-title { font-family: var(--font-display); font-weight: 700; font-size: clamp(1rem,2.5vw,1.4rem); color: #fff; margin-bottom: .75rem; }
.pe-module-body { color: #94a3b8; font-size: .875rem; line-height: 1.75; max-width: 44rem; margin-bottom: 1.5rem; }
.pe-topics { display: grid; grid-template-columns: 1fr; gap: 1.25rem; margin-bottom: 1.5rem; }
@media (min-width: 768px) { .pe-topics { grid-template-columns: 1fr 1fr; } }
.pe-topic-label { font-family: var(--font-mono); font-size: 9px; color: rgba(0,243,255,.5); letter-spacing: .16em; text-transform: uppercase; margin-bottom: .625rem; }
.pe-topic-items { display: flex; flex-wrap: wrap; gap: .375rem; }
.pe-module-project { display: flex; gap: .75rem; align-items: flex-start; padding: .875rem 1.125rem; background: rgba(0,243,255,.03); border: 1px solid rgba(0,243,255,.1); border-radius: .5rem; flex-wrap: wrap; }
.pe-project-label { font-family: var(--font-mono); font-size: 8px; color: var(--neon-cyan); letter-spacing: .15em; text-transform: uppercase; white-space: nowrap; padding-top: .1rem; flex-shrink: 0; }
.pe-project-text { font-size: .78rem; color: rgba(255,255,255,.45); line-height: 1.6; }

/* Legal */
.legal-content { max-width: 48rem; margin: 0 auto; padding: 9rem clamp(1.5rem,4vw,4rem) 6rem; }
.legal-heading { font-family: var(--font-display); font-weight: 700; font-size: clamp(2.5rem,6vw,4rem); color: #fff; line-height: 1; margin-bottom: 2.5rem; }
.legal-body { display: flex; flex-direction: column; gap: 2rem; color: #94a3b8; font-size: .875rem; line-height: 1.9; }
.legal-h2 { font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; color: #fff; text-transform: uppercase; margin-bottom: .75rem; letter-spacing: .05em; }
.legal-link { color: var(--neon-cyan); transition: color .2s; }
.legal-link:hover { color: #fff; }

/* 404 */
.not-found-main { min-height: 100vh; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; padding: 1.5rem; background: var(--deep-space); }
.nf-glow-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 600px; height: 600px; background: rgba(0,243,255,.05); filter: blur(160px); border-radius: 50%; pointer-events: none; }
.nf-glow-purple { position: absolute; top: 25%; right: 25%; width: 300px; height: 300px; background: rgba(189,0,255,.08); filter: blur(120px); border-radius: 50%; pointer-events: none; }
.nf-scanlines { position: absolute; inset: 0; pointer-events: none; opacity: .025; background-image: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(255,255,255,.5) 2px, rgba(255,255,255,.5) 3px); }
.not-found { position: relative; z-index: 10; max-width: 40rem; width: 100%; text-align: center; }
.nf-error-wrap { position: relative; min-height: 14rem; display: flex; align-items: center; justify-content: center; margin-bottom: 2rem; }
.nf-ghost-404 { font-family: var(--font-display); font-weight: 700; font-size: clamp(8rem,18vw,14rem); line-height: 1; color: rgba(255,255,255,.04); pointer-events: none; user-select: none; position: absolute; }
.nf-content { position: relative; z-index: 1; }
.nf-heading { font-family: var(--font-display); font-weight: 700; font-size: clamp(2.5rem,8vw,4rem); color: #fff; line-height: 1.1; }
.nf-links { display: grid; grid-template-columns: repeat(2,1fr); gap: .75rem; max-width: 28rem; margin: 2.5rem auto; }
@media (min-width: 640px) { .nf-links { grid-template-columns: repeat(3,1fr); } }
.nf-link { font-family: var(--font-mono); font-size: 9px; text-transform: uppercase; letter-spacing: .05em; color: #94a3b8; border: 1px solid rgba(255,255,255,.08); border-radius: .75rem; padding: .75rem 1rem; text-align: center; transition: all .2s; }
.nf-link:hover { border-color: rgba(0,243,255,.4); color: var(--neon-cyan); background: rgba(255,255,255,.03); }
.stack-more { font-family: var(--font-mono); font-size: 8px; color: rgba(255,255,255,.38); padding: 0 .25rem; }
.max-w-md { max-width: 28rem; }
.max-w-xl { max-width: 36rem; }
.max-w-2xl { max-width: 42rem; }
.max-w-xs { max-width: 20rem; }
.labs-exp-right { display: flex; flex-direction: column; }

/* Display / typography utilities */
.block { display: block; }
.text-sm { font-size: .875rem; }
.text-slate-300 { color: #cbd5e1; }
.text-slate-500 { color: #64748b; }
.mb-5 { margin-bottom: 1.25rem; }

/* Hero word base */
.hero-word { display: block; font-family: var(--font-display); font-weight: 700; }

/* Intro facts (aliases for fact-* classes) */
.fact-num { font-family: var(--font-mono); font-size: 9px; color: rgba(0,243,255,.4); letter-spacing: .25em; display: block; margin-bottom: 1rem; }
.fact-heading { font-family: var(--font-body); font-weight: 600; font-size: .875rem; color: #fff; margin-bottom: .5rem; transition: color .3s; }
.intro-fact:hover .fact-heading { color: var(--neon-cyan); }
.fact-body { color: #64748b; font-size: .875rem; line-height: 1.75; }

/* About strip heading (overrides monospace label in style.css) */
h2.about-headline { font-family: var(--font-display); font-weight: 700; font-size: clamp(2.5rem,6vw,5rem); color: #fff; text-transform: uppercase; line-height: 1.05; letter-spacing: 0; margin-bottom: 0; }
.about-headline-grid { display: grid; grid-template-columns: 1fr; gap: 3rem; align-items: center; margin-bottom: 3rem; }
@media (min-width: 1024px) { .about-headline-grid { grid-template-columns: 1fr 1fr; gap: 5rem; } }

/* Mission row aliases (HTML uses mission-num, mission-accent, mission-arrow) */
.mission-num { font-family: var(--font-mono); font-size: 10px; color: rgba(0,243,255,.3); letter-spacing: .25em; width: 2rem; flex-shrink: 0; padding-left: .75rem; padding-top: 2px; }
.mission-accent { position: absolute; left: 0; top: 0; bottom: 0; width: 2px; background: var(--neon-cyan); transform: scaleY(0); transition: transform .3s; transform-origin: top; }
.mission-row:hover .mission-accent { transform: scaleY(1); }
.mission-arrow { font-family: var(--font-mono); font-size: .75rem; color: rgba(255,255,255,.38); flex-shrink: 0; padding-top: 2px; transition: all .3s; }
.mission-row:hover .mission-arrow { color: var(--neon-cyan); transform: translateX(4px); }

/* Marquee modifiers */
.marquee-reverse .marquee-content-reverse { animation-direction: reverse; }

/* ═══════════════════════════════════════════
   NEW HERO — AI Agents Split Layout
   ═══════════════════════════════════════════ */
.hero-section { justify-content: flex-start; align-items: stretch; }
.hero-glow-l { position: absolute; left: -12%; top: 5%; width: 60%; height: 90%; background: radial-gradient(ellipse, rgba(0,243,255,.05) 0%, transparent 60%); z-index: 1; pointer-events: none; }
.hero-glow-r { position: absolute; right: -8%; top: 10%; width: 55%; height: 80%; background: radial-gradient(ellipse, rgba(189,0,255,.05) 0%, transparent 60%); z-index: 1; pointer-events: none; }
.hero-new-overlay { position: absolute; inset: 0; background: rgba(5,5,5,.38); z-index: 2; }
.hero-split { flex: 1; display: grid; grid-template-columns: 50% 50%; position: relative; z-index: 10; padding: clamp(6rem,15vh,10rem) clamp(1.5rem,4vw,4.5rem) clamp(1.5rem,3vh,3rem); align-items: stretch; }
.hero-left { padding-right: clamp(1rem,2.5vw,3rem); display: flex; flex-direction: column; justify-content: space-between; }
.hero-top { display: flex; flex-direction: column; gap: 0; }
.hero-overline-new { font-family: var(--font-mono); font-size: 9.5px; letter-spacing: .38em; color: rgba(0,243,255,.8); text-transform: uppercase; margin-bottom: 22px; display: flex; align-items: center; gap: 10px; }
.hero-overline-new::before { content: ''; width: 26px; height: 1px; background: rgba(0,243,255,.35); }
.ov-brand { color: #fff; letter-spacing: .04em; font-weight: 700; }
.hero-new-h1 { font-family: var(--font-display); text-transform: uppercase; letter-spacing: .03em; line-height: 1; margin-bottom: 18px; }
.h1-pre { display: block; font-size: clamp(1.1rem,2.2vw,1.9rem); font-weight: 600; color: rgba(255,255,255,.88); margin-bottom: 6px; }
.h1-main { display: block; font-size: clamp(2.6rem,5.5vw,5.5rem); font-weight: 700; color: var(--neon-cyan); line-height: .95; margin-bottom: 14px; white-space: nowrap; text-shadow: 0 0 80px rgba(0,243,255,.38), 0 0 120px rgba(0,243,255,.15); }
.h1-post { display: block; font-family: var(--font-body); font-size: clamp(1rem,1.8vw,1.5rem); font-weight: 400; text-transform: none; letter-spacing: .02em; color: rgba(255,255,255,.62); }
.hero-new-sub { font-size: clamp(.9rem,1.2vw,1.05rem); color: rgba(255,255,255,.65); line-height: 1.82; max-width: 480px; margin: 18px 0 22px; font-weight: 400; }
.hero-new-sub strong { color: rgba(255,255,255,.8); font-weight: 500; }
.hero-new-ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.hero-btn-w { display: inline-flex; align-items: center; background: #fff; color: #000; font-family: var(--font-display); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: .82rem 1.65rem; border-radius: 4px; text-decoration: none; transition: background .25s, box-shadow .25s; }
.hero-btn-w:hover { background: var(--neon-cyan); box-shadow: 0 0 22px rgba(0,243,255,.4); color: #000; }
.hero-btn-o { display: inline-flex; align-items: center; background: transparent; color: var(--neon-cyan); font-family: var(--font-display); font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: .82rem 1.65rem; border-radius: 4px; border: 1.5px solid rgba(0,243,255,.38); text-decoration: none; transition: all .25s; }
.hero-btn-o:hover { background: rgba(0,243,255,.06); }
.hero-bottom { display: flex; flex-direction: column; gap: 14px; padding-top: clamp(1.5rem,3vh,2.5rem); }
.hero-new-proof { display: flex; align-items: center; flex-wrap: wrap; gap: 0; }
.hero-proof-item-new { font-family: var(--font-mono); font-size: 9px; letter-spacing: .1em; color: rgba(255,255,255,.62); text-transform: uppercase; padding: 0 14px; }
.hero-proof-item-new:first-child { padding-left: 0; }
.hero-proof-div { width: 1px; height: 11px; background: rgba(255,255,255,.1); }
.hero-status-strip { display: flex; align-items: center; gap: 20px; padding: 10px 14px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06); border-radius: 6px; }
.hero-status-pulse { display: flex; align-items: center; gap: 7px; flex-shrink: 0; }
.hero-pdot { width: 6px; height: 6px; border-radius: 50%; background: var(--neon-cyan); animation: heropdot 2s ease-in-out infinite; box-shadow: 0 0 6px rgba(0,243,255,.6); flex-shrink: 0; }
@keyframes heropdot { 0%,100%{opacity:1} 50%{opacity:.2} }
.hero-status-text { font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.72); white-space: nowrap; }
.hero-stags { display: flex; gap: 6px; margin-left: auto; }
.hero-stag { font-family: var(--font-mono); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; padding: 3px 8px; border-radius: 3px; background: rgba(0,243,255,.07); border: 1px solid rgba(0,243,255,.22); color: rgba(0,243,255,.75); }
.hero-right { position: relative; display: flex; align-items: center; justify-content: center; }
.hero-net-wrap { position: absolute; inset: 0; }
.hero-net-wrap canvas { width: 100%; height: 100%; display: block; }
.hero-net-wrap::after { content: ''; position: absolute; inset: 0; z-index: 5; pointer-events: none; background: linear-gradient(90deg,var(--deep-space) 0%,transparent 12%), linear-gradient(270deg,var(--deep-space) 0%,transparent 6%), linear-gradient(180deg,var(--deep-space) 0%,transparent 8%), linear-gradient(0deg,var(--deep-space) 0%,transparent 6%); }
.hero-badge { position: absolute; z-index: 10; pointer-events: none; background: rgba(4,8,14,.84); backdrop-filter: blur(10px); border: 1px solid rgba(255,255,255,.08); border-radius: 7px; padding: 8px 12px; }
.hero-badge.cy { border-color: rgba(0,243,255,.2); }
.hero-badge.pu { border-color: rgba(189,0,255,.18); }
.hb-lbl { font-family: var(--font-mono); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.72); margin-bottom: 3px; display: flex; align-items: center; gap: 5px; }
.hb-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--neon-cyan); animation: heropdot 2s ease-in-out infinite; box-shadow: 0 0 5px rgba(0,243,255,.55); }
.hb-dot.pu { background: var(--cyber-purple); box-shadow: 0 0 5px rgba(189,0,255,.55); animation-delay: .6s; }
.hb-val { font-family: var(--font-display); font-size: 1.05rem; font-weight: 700; line-height: 1; }
.hb-val.cy { color: var(--neon-cyan); }
.hb-val.pu { color: var(--cyber-purple); }
.hb-sub { font-size: .6rem; color: rgba(255,255,255,.52); margin-top: 2px; }
.hb-tags { display: flex; gap: 4px; margin-top: 5px; flex-wrap: wrap; }
.hb-tag { font-family: var(--font-mono); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; padding: 3px 7px; border-radius: 3px; background: rgba(0,243,255,.07); border: 1px solid rgba(0,243,255,.22); color: rgba(0,243,255,.75); }
.hero-strip { position: relative; z-index: 5; flex-shrink: 0; width: 100%; height: clamp(90px,12vh,130px); overflow: hidden; }
.hero-strip-top { position: absolute; top: 0; left: 0; right: 0; height: 55px; background: linear-gradient(180deg,var(--deep-space),transparent); z-index: 10; pointer-events: none; }
.hero-strip-bot { position: absolute; bottom: 0; left: 0; right: 0; height: 25px; background: linear-gradient(0deg,var(--deep-space),transparent); z-index: 10; pointer-events: none; }
.hero-strip canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-scroll-hint { position: absolute; bottom: clamp(110px,15vh,145px); left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; gap: 6px; z-index: 20; }
.hero-scroll-hint span { font-family: var(--font-mono); font-size: 7px; letter-spacing: .35em; color: rgba(255,255,255,.18); text-transform: uppercase; }
.hero-scroll-line { width: 1px; height: 28px; background: linear-gradient(180deg,rgba(0,243,255,.45),transparent); animation: scrolldown 1.8s ease-in-out infinite; }
@keyframes scrolldown { 0%{opacity:0;transform:scaleY(0);transform-origin:top} 50%{opacity:1;transform:scaleY(1);transform-origin:top} 100%{opacity:0;transform:scaleY(1);transform-origin:bottom} }
@media(max-width:767px) { .hero-split { grid-template-columns: 1fr; padding: clamp(5rem,14vh,7rem) 1.5rem 1.5rem; } .hero-right { display: none; } }

/* ═══════════════════════════════════════════
   AGENT BUILD SECTION — Layout C Immersive
   ═══════════════════════════════════════════ */
.agent-build-section { padding: 100px 0 120px; background: radial-gradient(ellipse at 50% 40%, rgba(189,0,255,.04) 0%, transparent 65%); }
.ab-inner { max-width: 1400px; margin: 0 auto; padding: 0 clamp(1.5rem,4vw,4rem); }
.ab-header { margin-bottom: 36px; }
.ab-overline { font-family: var(--font-mono); font-size: 11px; letter-spacing: .2em; color: var(--neon-cyan); text-transform: uppercase; margin-bottom: 14px; display: block; }
.ab-headline { font-family: var(--font-display); font-size: clamp(2.2rem,4.5vw,4.2rem); font-weight: 700; color: #fff; text-transform: uppercase; line-height: 1.1; letter-spacing: .02em; margin-bottom: 0; }
.ab-headline em { color: var(--neon-cyan); font-style: normal; }
.ab-body { font-size: 15px; color: rgba(255,255,255,.58); line-height: 1.78; margin-top: 14px; max-width: 560px; font-weight: 400; }
.ab-canvas-wrap { position: relative; width: 100%; height: clamp(640px, 75vh, 800px); border: 1px solid rgba(255,255,255,.07); border-radius: 16px; overflow: hidden; background: radial-gradient(ellipse at 50% 52%, rgba(189,0,255,.07) 0%, transparent 60%); }
.ab-canvas-wrap canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.ab-scan-lbl { position: absolute; top: 18px; left: 22px; font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; color: rgba(255,255,255,.18); z-index: 10; }
.ab-pulse-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--neon-cyan); margin-right: 7px; vertical-align: middle; animation: abpulse .9s ease-in-out infinite; }
@keyframes abpulse { 0%,100%{opacity:1} 50%{opacity:.15} }
.ab-float-card { position: absolute; top: 24px; right: 24px; width: 272px; background: rgba(4,4,4,.8); backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 20px; z-index: 10; transition: opacity .35s; }
.ab-fc-step { font-family: var(--font-mono); font-size: 10px; letter-spacing: .16em; color: rgba(0,243,255,.6); text-transform: uppercase; margin-bottom: 7px; }
.ab-fc-title { font-family: var(--font-display); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #fff; margin-bottom: 8px; line-height: 1.3; }
.ab-fc-sep { width: 28px; height: 1px; background: rgba(0,243,255,.25); margin-bottom: 9px; }
.ab-fc-desc { font-size: 13px; color: rgba(255,255,255,.62); line-height: 1.65; margin-bottom: 11px; font-weight: 400; }
.ab-fc-chip { font-family: var(--font-mono); font-size: 9px; letter-spacing: .09em; color: var(--neon-cyan); background: rgba(0,243,255,.07); border: 1px solid rgba(0,243,255,.17); padding: 4px 9px; border-radius: 4px; display: inline-block; }
.ab-dots { display: flex; align-items: center; justify-content: center; gap: 0; margin-top: 20px; position: relative; height: 32px; }
.ab-dots::before { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); height: 1px; width: 200px; background: rgba(255,255,255,.09); z-index: 0; }
.ab-dot-btn { position: relative; z-index: 1; width: 32px; height: 32px; background: none; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; outline: none; }
.ab-dot-in { width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,.12); border: 1.5px solid rgba(255,255,255,.18); transition: all .3s; }
.ab-dot-btn.on .ab-dot-in { background: var(--neon-cyan); border-color: var(--neon-cyan); box-shadow: 0 0 10px rgba(0,243,255,.6); }
.ab-ctas { display: flex; gap: 12px; justify-content: center; margin-top: 32px; }
.ab-note { font-family: var(--font-mono); font-size: 10px; color: rgba(255,255,255,.38); margin-top: 14px; letter-spacing: .05em; text-align: center; }
@media(max-width:767px) { .ab-inner { padding: 0 1.5rem; } .ab-float-card { width: 220px; right: 12px; padding: 14px; } }
.ab-float-card { display: none; }

/* Agent section — two-column layout */
.ab-layout { display: grid; grid-template-columns: 70% 30%; gap: 28px; margin-top: 40px; align-items: stretch; }
.ab-canvas-side { display: flex; flex-direction: column; gap: 16px; }
.ab-steps-side { display: flex; flex-direction: column; gap: 10px; height: 100%; }

/* Step cards */
.ab-step-card { flex: 1; min-height: 0; padding: 18px 20px; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; background: rgba(255,255,255,.02); cursor: pointer; transition: border-color .35s, background .35s; }
.ab-step-card:hover { border-color: rgba(0,243,255,.15); }
.ab-step-card.active { border-color: rgba(0,243,255,.28); background: rgba(0,243,255,.04); }
.ab-sc-step { font-family: var(--font-mono); font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: rgba(0,243,255,.6); margin-bottom: 6px; }
.ab-sc-title { font-family: var(--font-display); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: rgba(255,255,255,.45); margin-bottom: 8px; line-height: 1.3; transition: color .35s; }
.ab-step-card.active .ab-sc-title { color: #fff; }
.ab-sc-sep { width: 24px; height: 1px; background: rgba(0,243,255,.2); margin-bottom: 9px; }
.ab-sc-desc { font-size: 12.5px; color: rgba(255,255,255,.55); line-height: 1.65; margin-bottom: 10px; transition: color .35s; }
.ab-step-card.active .ab-sc-desc { color: rgba(255,255,255,.6); }
.ab-sc-chip { font-family: var(--font-mono); font-size: 9px; letter-spacing: .08em; color: var(--neon-cyan); background: rgba(0,243,255,.07); border: 1px solid rgba(0,243,255,.18); padding: 3px 8px; border-radius: 4px; display: inline-block; }

/* ── Portal Enso Logo ── */
.nav-logo    { display: inline-flex; align-items: center; gap: 8px; }
.footer-logo { display: inline-flex; align-items: center; gap: 10px; }
#nav-enso, #footer-enso { display: block; flex-shrink: 0; }

/* ── Portal Enso Chatbot ── */
#chatbot-float-btn { background: rgba(4,4,4,.96); }
#chatbot-float-btn.open { background: rgba(4,4,4,.96); }
#chatbot-float-enso { display: block; pointer-events: none; }
#chatbot-avatar-enso { display: block; pointer-events: none; }
.chatbot-avatar { background: rgba(0,0,0,.5); }
@media (max-width: 900px) { .ab-layout { grid-template-columns: 1fr; } }

/* ── Training Page ──────────────────────────── */
[data-duration="1m"]    { --duration-color: #00f3ff; }
[data-duration="2m"]    { --duration-color: #00d4cc; }
[data-duration="3m"]    { --duration-color: #7c3aed; }
[data-duration="6m"]    { --duration-color: #bd00ff; }
[data-duration="1y"]    { --duration-color: #00f3ff; }
[data-duration="genai"] { --duration-color: #f59e0b; }
[data-duration="fsai"]  { --duration-color: #f97316; }
[data-duration="cc"]    { --duration-color: #f43f5e; }

.duration-badge { display:inline-flex;align-items:center;gap:.375rem;font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.12em;border:1px solid var(--duration-color,rgba(0,243,255,.3));border-radius:100px;padding:.25rem .75rem;color:var(--duration-color,rgba(0,243,255,.7));background:rgba(0,0,0,.3); }
.duration-dot { width:8px;height:8px;border-radius:50%;background:var(--duration-color,#00f3ff);flex-shrink:0; }

/* Training hero */
.training-hero-stats { display:flex;gap:2rem;flex-wrap:wrap;margin-top:1.5rem; }
.training-hero-stat { font-family:var(--font-mono);font-size:10px;color:rgba(0,243,255,.7);letter-spacing:.14em;text-transform:uppercase; }
.training-hero-stat strong { display:block;font-family:var(--font-display);font-size:1.4rem;color:#fff;letter-spacing:.04em;margin-bottom:.2rem; }

/* Who is this for */
.training-audience-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;margin-top:2rem; }
.training-audience-card { border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1.75rem;background:rgba(255,255,255,.02);transition:border-color .3s; }
.training-audience-card:hover { border-color:rgba(0,243,255,.2); }
.tac-icon { font-size:1.5rem;margin-bottom:.875rem; }
.tac-title { font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:.5rem; }
.tac-desc { font-size:13px;color:rgba(255,255,255,.5);line-height:1.7; }
.tac-tags { display:flex;flex-wrap:wrap;gap:.375rem;margin-top:1rem; }

/* Command panel */
.training-command-panel { border:1px solid rgba(255,255,255,.1);border-radius:1.25rem;overflow:hidden;display:grid;grid-template-columns:1fr;margin-top:2rem; }
@media(min-width:1024px){ .training-command-panel { grid-template-columns:280px 1fr; } }
.tcp-left { border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden; }
@media(min-width:1024px){ .tcp-left { border-bottom:none;border-right:1px solid rgba(255,255,255,.08); } }
.tcp-left-header { padding:.875rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.05);background:rgba(255,255,255,.02); }
.tcp-left-label { font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.3); }
.tcp-btn { width:100%;text-align:left;padding:1rem 1.5rem;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:.875rem; }
.tcp-btn:last-child { border-bottom:none; }
.tcp-btn:hover { background:rgba(255,255,255,.03); }
.tcp-btn.active { background:rgba(0,243,255,.04);border-left:2px solid var(--duration-color,#00f3ff); }
.tcp-btn-text { flex:1;min-width:0; }
.tcp-btn-name { font-family:var(--font-display);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.tcp-btn.active .tcp-btn-name { color:#fff; }
.tcp-btn-level { font-family:var(--font-mono);font-size:8px;color:rgba(255,255,255,.3);margin-top:.2rem;letter-spacing:.06em; }
.tcp-pane { display:none;padding:2.25rem; }
.tcp-pane.active { display:block; }
.tcp-pane-title { font-family:var(--font-display);font-size:clamp(.9rem,2vw,1.15rem);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;margin-bottom:.375rem; }
.tcp-pane-tagline { font-size:13px;color:rgba(255,255,255,.5);line-height:1.6;margin-bottom:1.5rem; }

/* Training stats row */
.training-stats-row { display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.06);border-radius:.75rem;overflow:hidden;margin-bottom:1.5rem; }
@media(min-width:640px){ .training-stats-row { grid-template-columns:repeat(4,1fr); } }
.training-stat-cell { background:#050505;padding:1.1rem 1.25rem; }
.training-stat-val { font-family:var(--font-display);font-size:1rem;font-weight:700;color:var(--neon-cyan);margin-bottom:.2rem; }
.training-stat-key { font-family:var(--font-mono);font-size:8px;color:#64748b;text-transform:uppercase;letter-spacing:.18em; }

/* Curriculum inside pane */
.tcp-curriculum { margin:1.5rem 0 0; }
.tcp-curriculum-label { font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.2em;color:rgba(0,243,255,.5);margin-bottom:.75rem; }
.tcp-track-row { border-top:1px solid rgba(255,255,255,.06);padding:.875rem 0;cursor:pointer; }
.tcp-track-row:last-child { border-bottom:1px solid rgba(255,255,255,.06); }
.tcp-track-header { display:flex;align-items:center;gap:.75rem;justify-content:space-between; }
.tcp-track-unit { font-family:var(--font-mono);font-size:8px;color:rgba(0,243,255,.55);letter-spacing:.14em;text-transform:uppercase;flex-shrink:0; }
.tcp-track-title { font-family:var(--font-display);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.7);flex:1; }
.tcp-track-arrow { font-size:11px;color:rgba(255,255,255,.25);transition:transform .25s,color .25s;flex-shrink:0; }
.tcp-track-row.open .tcp-track-arrow { transform:rotate(90deg);color:rgba(0,243,255,.6); }
.tcp-track-body { display:none;padding:.75rem 0 0;font-size:12.5px;color:rgba(255,255,255,.48);line-height:1.7; }
.tcp-track-row.open .tcp-track-body { display:block; }
.tcp-track-topics { margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.375rem; }

/* Tools */
.tcp-tools { margin-top:1.25rem; }
.tcp-tools-label { font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.3);margin-bottom:.625rem; }

/* 1-year track cards */
.one-year-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2rem; }
.one-year-card { border:1px solid rgba(255,255,255,.08);border-radius:1.25rem;padding:2rem;background:rgba(255,255,255,.02);transition:border-color .3s;position:relative;overflow:hidden; }
.one-year-card:hover { border-color:rgba(0,243,255,.2); }
.one-year-card.track-b { border-color:rgba(189,0,255,.2); }
.one-year-card.track-b:hover { border-color:rgba(189,0,255,.4); }
.oyc-track-badge { font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:1rem;display:inline-flex;align-items:center;gap:.5rem;background:rgba(0,243,255,.06);border:1px solid rgba(0,243,255,.15);padding:.3rem .75rem;border-radius:100px;color:rgba(0,243,255,.8); }
.one-year-card.track-b .oyc-track-badge { background:rgba(189,0,255,.06);border-color:rgba(189,0,255,.2);color:rgba(189,0,255,.8); }
.oyc-title { font-family:var(--font-display);font-size:clamp(.8rem,2vw,1rem);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff;margin-bottom:.5rem; }
.oyc-prereq { font-family:var(--font-mono);font-size:9px;color:rgba(255,255,255,.35);margin-bottom:1.25rem;letter-spacing:.04em; }
.oyc-quarters { border-top:1px solid rgba(255,255,255,.06);padding-top:1.25rem; }
.oyc-quarter-row { border-top:1px solid rgba(255,255,255,.05);padding:.75rem 0;cursor:pointer; }
.oyc-quarter-row:first-child { border-top:none; }
.oyc-quarter-header { display:flex;align-items:center;gap:.75rem;justify-content:space-between; }
.oyc-q-label { font-family:var(--font-mono);font-size:8px;color:rgba(0,243,255,.5);letter-spacing:.14em;text-transform:uppercase;flex-shrink:0; }
.one-year-card.track-b .oyc-q-label { color:rgba(189,0,255,.6); }
.oyc-q-title { font-size:12px;color:rgba(255,255,255,.65);flex:1; }
.oyc-q-arrow { font-size:10px;color:rgba(255,255,255,.2);transition:transform .25s; }
.oyc-quarter-row.open .oyc-q-arrow { transform:rotate(90deg); }
.oyc-quarter-body { display:none;padding:.625rem 0 0;font-size:12px;color:rgba(255,255,255,.42);line-height:1.7; }
.oyc-quarter-row.open .oyc-quarter-body { display:block; }

/* Projects gallery */
.projects-scroll-row { display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.25rem;margin-top:2rem; }
.proj-card { border:1px solid rgba(255,255,255,.07);border-radius:.875rem;padding:1.5rem;background:rgba(255,255,255,.02);transition:border-color .3s; }
.proj-card:hover { border-color:rgba(0,243,255,.15); }
.proj-card-tag { font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.14em;color:rgba(0,243,255,.6);margin-bottom:.75rem; }
.proj-card-title { font-family:var(--font-display);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.85);margin-bottom:.5rem;line-height:1.4; }
.proj-card-desc { font-size:12px;color:rgba(255,255,255,.42);line-height:1.65;margin-bottom:.875rem; }
.proj-card-stack { display:flex;flex-wrap:wrap;gap:.3rem; }

/* Tools grid */
.tools-groups-wrap { display:flex;flex-direction:column;gap:1.75rem;margin-top:2rem; }
.tools-group { display:flex;flex-wrap:wrap;gap:.625rem;align-items:center; }
.tools-group-label { font-family:var(--font-mono);font-size:8px;color:rgba(0,243,255,.55);text-transform:uppercase;letter-spacing:.2em;flex-shrink:0;min-width:120px; }

/* Placement */
.placement-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;margin-top:2rem; }
.placement-card { border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:1.75rem;background:rgba(255,255,255,.02); }
.placement-icon { font-size:1.25rem;margin-bottom:.75rem; }
.placement-title { font-family:var(--font-display);font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#fff;margin-bottom:.5rem; }
.placement-desc { font-size:13px;color:rgba(255,255,255,.48);line-height:1.65; }
.placement-fine { font-family:var(--font-mono);font-size:9px;color:rgba(255,255,255,.28);margin-top:1.75rem;letter-spacing:.04em;text-align:center; }
.promise-block { border:1px solid rgba(0,243,255,.15);border-radius:1.25rem;padding:2.25rem;background:rgba(0,243,255,.03);margin-bottom:2rem;text-align:center; }
.promise-quote { font-family:var(--font-display);font-size:clamp(.85rem,2.5vw,1.2rem);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;line-height:1.5; }
.promise-attr { font-family:var(--font-mono);font-size:9px;color:rgba(0,243,255,.5);margin-top:.75rem;letter-spacing:.14em;text-transform:uppercase; }

/* Schedule */
.schedule-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.25rem;margin-top:2rem; }
.schedule-card { border:1px solid rgba(255,255,255,.07);border-radius:.875rem;padding:1.5rem;background:rgba(255,255,255,.02); }
.schedule-icon { font-size:1.1rem;margin-bottom:.625rem; }
.schedule-title { font-family:var(--font-display);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:.375rem; }
.schedule-desc { font-size:12.5px;color:rgba(255,255,255,.45);line-height:1.65; }
.schedule-detail-panel { border:1px solid rgba(255,255,255,.07);border-radius:.875rem;padding:1.75rem;margin-top:1.5rem; }
.sdp-label { font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.18em;color:rgba(0,243,255,.5);margin-bottom:.875rem; }
.sdp-row { display:flex;align-items:baseline;gap:.75rem;padding:.625rem 0;border-bottom:1px solid rgba(255,255,255,.05); }
.sdp-row:last-child { border-bottom:none; }
.sdp-key { font-family:var(--font-mono);font-size:9px;color:rgba(255,255,255,.35);min-width:80px;letter-spacing:.06em; }
.sdp-val { font-size:13px;color:rgba(255,255,255,.65); }

/* Certificate */
.cert-mock { border:1px solid rgba(0,243,255,.2);border-radius:1.25rem;padding:3rem 2rem;max-width:520px;margin:2rem auto 0;text-align:center;position:relative;background:rgba(0,243,255,.02); }
.cert-mock::before { content:'';position:absolute;inset:4px;border:1px solid rgba(0,243,255,.08);border-radius:1rem;pointer-events:none; }
.cert-logo-line { font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.25em;color:rgba(0,243,255,.6);text-transform:uppercase;margin-bottom:1.25rem; }
.cert-title { font-family:var(--font-display);font-size:clamp(1rem,3vw,1.5rem);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:.5rem; }
.cert-sub { font-size:13px;color:rgba(255,255,255,.4);margin-bottom:1.5rem; }
.cert-recipient { font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.25);margin-bottom:.375rem; }
.cert-name-line { font-size:1.2rem;color:rgba(255,255,255,.55);font-style:italic;border-bottom:1px solid rgba(0,243,255,.15);padding-bottom:.625rem;margin-bottom:1.25rem; }
.cert-fine { font-family:var(--font-mono);font-size:8.5px;color:rgba(255,255,255,.22);margin-top:1.5rem;letter-spacing:.06em; }

/* Training FAQ */
.training-faq-list { margin-top:1.75rem; }
.tfaq-row { border-top:1px solid rgba(255,255,255,.06);padding:1.1rem 0;cursor:pointer; }
.tfaq-row:last-child { border-bottom:1px solid rgba(255,255,255,.06); }
.tfaq-header { display:flex;align-items:center;justify-content:space-between;gap:1rem; }
.tfaq-q { font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.7);line-height:1.5; }
.tfaq-arrow { font-size:12px;color:rgba(255,255,255,.25);transition:transform .25s;flex-shrink:0; }
.tfaq-row.open .tfaq-arrow { transform:rotate(45deg);color:rgba(0,243,255,.6); }
.tfaq-a { display:none;padding:.875rem 0 0;font-size:13.5px;color:rgba(255,255,255,.5);line-height:1.75; }
.tfaq-row.open .tfaq-a { display:block; }

/* Training section spacing */
.training-section { padding:5rem 0; }
.training-section + .training-section { border-top:1px solid rgba(255,255,255,.04); }
.training-section-inner { max-width:1400px;margin:0 auto;padding:0 clamp(1.5rem,5vw,6rem); }

/* Apply CTA */
.training-apply-block { border:1px solid rgba(0,243,255,.12);border-radius:1.5rem;padding:3.5rem 2rem;text-align:center;position:relative;overflow:hidden;background:rgba(0,243,255,.025); }
.training-apply-glow { position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:400px;height:200px;background:radial-gradient(ellipse,rgba(0,243,255,.1),transparent 70%);pointer-events:none; }
.training-apply-note { font-family:var(--font-mono);font-size:9px;color:rgba(255,255,255,.28);margin-top:1rem;letter-spacing:.1em;text-transform:uppercase; }

/* ── Apply / Waitlist Page ───────────────────── */
.apply-section { padding:5rem 0; }
.apply-section + .apply-section { border-top:1px solid rgba(255,255,255,.04); }
.apply-section-inner { max-width:720px;margin:0 auto;padding:0 2rem; }
@media(min-width:1280px) { .apply-section-inner { padding:0; } }

.apply-form-wrap { max-width:680px;margin:2.5rem auto 0;background:#0a0d12;border:1px solid rgba(255,255,255,.15);border-top:2px solid rgba(0,243,255,.4);border-radius:1.25rem;padding:2.5rem; }

/* Section groups inside form */
.apply-group { border:1px solid rgba(255,255,255,.1);border-radius:.875rem;padding:1.5rem 1.5rem 0.25rem;margin-bottom:1.75rem;background:rgba(255,255,255,.02); }
.apply-group-label { font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.22em;color:rgba(0,243,255,.6);margin-bottom:1.25rem;display:flex;align-items:center;gap:.625rem; }
.apply-group-label::after { content:'';flex:1;height:1px;background:rgba(255,255,255,.08); }

.apply-field-group { margin-bottom:1.5rem; }
.apply-label { display:block;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.85);margin-bottom:.75rem; }
.apply-label span { color:rgba(0,243,255,.85);margin-left:.25rem; }

.apply-input,
.apply-select,
.apply-textarea {
  width:100%; box-sizing:border-box;
  background:#0d1117;
  border:1.5px solid rgba(255,255,255,.28);
  border-radius:.5rem;
  color:#fff;
  font-family:var(--font-body);
  font-size:14px;
  padding:.95rem 1.1rem;
  transition:border-color .2s, box-shadow .2s, background .2s;
  outline:none;
  -webkit-appearance:none;
  appearance:none;
}
.apply-input:hover,
.apply-select:hover,
.apply-textarea:hover { border-color:rgba(255,255,255,.45); }
.apply-input:focus,
.apply-select:focus,
.apply-textarea:focus {
  border-color:rgba(0,243,255,.7);
  background:#101520;
  box-shadow:0 0 0 3px rgba(0,243,255,.1);
}
.apply-input::placeholder,
.apply-textarea::placeholder { color:rgba(255,255,255,.42); }

.apply-select {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='rgba(255,255,255,0.65)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 1rem center;
  background-color:#0d1117;
  padding-right:2.5rem;
  cursor:pointer;
}
.apply-select option { background:#0d1117;color:#fff; }

.apply-textarea { resize:vertical;min-height:110px; }

.apply-type-selector { display:flex;gap:.625rem;flex-wrap:wrap;margin-top:.25rem; }
.apply-type-btn {
  background:#0d1117;
  border:1.5px solid rgba(255,255,255,.25);
  border-radius:.625rem;
  color:rgba(255,255,255,.75);
  font-family:var(--font-mono);
  font-size:9px;
  letter-spacing:.1em;
  text-transform:uppercase;
  padding:.75rem 1.25rem;
  cursor:pointer;
  transition:all .2s;
}
.apply-type-btn:hover { border-color:rgba(0,243,255,.5);color:#fff;background:#111820; }
.apply-type-btn.active { border-color:var(--neon-cyan);background:rgba(0,243,255,.12);color:#fff;box-shadow:0 0 16px rgba(0,243,255,.1); }

.apply-conditional { display:none;animation:applyFadeIn .25s ease; }
.apply-conditional.visible { display:block; }
@keyframes applyFadeIn { from { opacity:0;transform:translateY(-6px); } to { opacity:1;transform:translateY(0); } }

.apply-two-col { display:grid;grid-template-columns:1fr;gap:1.25rem; }
@media(min-width:560px) { .apply-two-col { grid-template-columns:1fr 1fr; } }

.apply-submit-btn {
  width:100%;
  background:linear-gradient(135deg,rgba(0,243,255,.15),rgba(189,0,255,.1));
  border:1px solid rgba(0,243,255,.35);
  border-radius:.75rem;
  color:#fff;
  font-family:var(--font-display);
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding:1.1rem;
  cursor:pointer;
  transition:background .25s,border-color .25s,box-shadow .25s;
  margin-top:.5rem;
}
.apply-submit-btn:hover { background:linear-gradient(135deg,rgba(0,243,255,.22),rgba(189,0,255,.16));border-color:rgba(0,243,255,.6);box-shadow:0 0 24px rgba(0,243,255,.12); }
.apply-submit-btn:disabled { opacity:.45;cursor:not-allowed; }

.apply-error-msg { font-family:var(--font-mono);font-size:10px;color:#ff6b6b;letter-spacing:.06em;margin-top:.875rem;display:none; }
.apply-error-msg.visible { display:block; }

.apply-success-block { display:none;text-align:center;padding:4rem 2rem;border:1px solid rgba(0,243,255,.15);border-radius:1.25rem;background:rgba(0,243,255,.03); }
.apply-success-block.visible { display:block;animation:applyFadeIn .4s ease; }
.apply-success-icon { font-size:2rem;margin-bottom:1.25rem; }
.apply-success-title { font-family:var(--font-display);font-size:clamp(.9rem,3vw,1.3rem);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:.75rem; }
.apply-success-sub { font-size:14px;color:rgba(255,255,255,.5);line-height:1.7;max-width:400px;margin:0 auto 2rem; }

.apply-fine { font-family:var(--font-mono);font-size:9px;color:rgba(255,255,255,.25);text-align:center;margin-top:1.25rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.8; }

/* ── Apply Path Chooser ── */
.apply-path-chooser { display:grid;grid-template-columns:1fr;gap:1rem;margin:0 0 2.5rem; }
@media(min-width:560px) { .apply-path-chooser { grid-template-columns:1fr 1fr; } }
.apply-path-card { border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1.75rem;background:rgba(255,255,255,.02);cursor:pointer;transition:border-color .3s,background .3s;display:flex;flex-direction:column;gap:.75rem; }
.apply-path-card.primary { border-top:2px solid rgba(0,243,255,.5); }
.apply-path-card.primary:hover { border-color:rgba(0,243,255,.4);background:rgba(0,243,255,.04); }
.apply-path-card.counsellor { border-top:2px solid rgba(189,0,255,.5); }
.apply-path-card.counsellor:hover { border-color:rgba(189,0,255,.35);background:rgba(189,0,255,.04); }
.apply-path-icon { font-size:1.5rem;color:var(--neon-cyan);display:flex;align-items:center;gap:.5rem; }
.apply-path-card.counsellor .apply-path-icon { color:var(--cyber-purple); }
.apply-path-title { font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin:0; }
.apply-path-body { font-size:13px;color:rgba(255,255,255,.5);line-height:1.7;margin:0; }
.apply-path-cta { font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:rgba(0,243,255,.7);margin-top:auto;display:inline-block;transition:color .2s; }
.apply-path-card.counsellor .apply-path-cta { color:rgba(189,0,255,.7); }
.apply-path-card:hover .apply-path-cta { color:#fff; }

/* ── Counsellor Booking Form ── */
.counsellor-form-block { display:none;border:1px solid rgba(189,0,255,.2);border-top:2px solid rgba(189,0,255,.5);border-radius:1.25rem;padding:2rem;background:#0a0812;margin-bottom:2.5rem; }
.counsellor-form-block.visible { display:block;animation:applyFadeIn .3s ease; }
.counsellor-form-header { display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(189,0,255,.12); }
.counsellor-form-title { font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff; }
.counsellor-success { display:none;text-align:center;padding:2.5rem;border:1px solid rgba(189,0,255,.2);border-radius:1rem;background:rgba(189,0,255,.04); }
.counsellor-success.visible { display:block;animation:applyFadeIn .4s ease; }
.counsellor-submit-btn { width:100%;background:linear-gradient(135deg,rgba(189,0,255,.18),rgba(100,0,160,.12));border:1px solid rgba(189,0,255,.4);border-radius:.75rem;color:#fff;font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:1.1rem;cursor:pointer;transition:background .25s,border-color .25s,box-shadow .25s;margin-top:.5rem; }
.counsellor-submit-btn:hover { background:linear-gradient(135deg,rgba(189,0,255,.28),rgba(100,0,160,.2));border-color:rgba(189,0,255,.65);box-shadow:0 0 24px rgba(189,0,255,.12); }
.counsellor-submit-btn:disabled { opacity:.45;cursor:not-allowed; }

/* ── Training Page: Is This Right For You + Career Outcomes ── */
.tcp-rw-grid { display:grid;grid-template-columns:1fr 1fr;gap:.875rem;margin:1rem 0 .875rem; }
.tcp-rw-col { border-radius:8px;padding:.875rem 1rem; }
.tcp-rw-right { background:rgba(0,200,100,.04);border:1px solid rgba(0,200,100,.18); }
.tcp-rw-wrong { background:rgba(255,80,80,.03);border:1px solid rgba(255,80,80,.13); }
.tcp-rw-h { font-family:var(--font-mono);font-size:9px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:.5rem;display:flex;align-items:center;gap:.375rem; }
.tcp-rw-right .tcp-rw-h { color:rgba(0,220,120,.85); }
.tcp-rw-wrong .tcp-rw-h { color:rgba(255,110,110,.75); }
.tcp-rw-list { list-style:none; }
.tcp-rw-list li { font-size:12px;color:rgba(255,255,255,.58);line-height:1.65;padding:.18rem 0;display:flex;gap:.5rem;align-items:flex-start; }
.tcp-rw-list li b { flex-shrink:0;font-style:normal;margin-top:.15rem;font-size:9px; }
.tcp-rw-right .tcp-rw-list li b { color:rgba(0,220,120,.8); }
.tcp-rw-wrong .tcp-rw-list li b { color:rgba(255,110,110,.7); }
.tcp-outcome-row { display:flex;gap:.875rem;align-items:center;flex-wrap:wrap;padding:.625rem 1rem;border-radius:8px;margin-bottom:.875rem;border-left:3px solid var(--duration-color,#00f3ff);background:rgba(0,0,0,.2); }
.tcp-outcome-lbl { font-family:var(--font-mono);font-size:8.5px;text-transform:uppercase;letter-spacing:.18em;color:var(--duration-color,#00f3ff);white-space:nowrap;flex-shrink:0; }
.tcp-roles { display:flex;flex-wrap:wrap;gap:.375rem; }
.tcp-role { font-size:11px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:.18rem .6rem;color:rgba(255,255,255,.78); }
.tcp-next-row { display:flex;align-items:center;gap:.75rem;margin:1rem 0 .25rem;padding:.5rem 0; }
.tcp-next-lbl { font-family:var(--font-mono);font-size:8px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.25);flex-shrink:0; }
.tcp-next-pill { font-family:var(--font-mono);font-size:10px;padding:.3rem .875rem;border-radius:999px;border:1px solid var(--duration-color,#00f3ff);color:var(--duration-color,#00f3ff);background:none;cursor:pointer;transition:background .2s,color .2s; }
.tcp-next-pill:hover { background:var(--duration-color,#00f3ff);color:#000; }

/* ══ WEBSITE VISUAL ENHANCEMENTS — Service + Program Color Identity ══ */

/* ── Service color variables ── */
[data-svc-id="1"] { --sc:#00f3ff; --sc-d:rgba(0,243,255,.08); --sc-b:rgba(0,243,255,.28); }
[data-svc-id="2"] { --sc:#00d4cc; --sc-d:rgba(0,212,204,.08); --sc-b:rgba(0,212,204,.28); }
[data-svc-id="3"] { --sc:#f59e0b; --sc-d:rgba(245,158,11,.08); --sc-b:rgba(245,158,11,.28); }
[data-svc-id="4"] { --sc:#7c3aed; --sc-d:rgba(124,58,237,.08); --sc-b:rgba(124,58,237,.28); }
[data-svc-id="5"] { --sc:#bd00ff; --sc-d:rgba(189,0,255,.08); --sc-b:rgba(189,0,255,.28); }
[data-svc-id="6"] { --sc:#f97316; --sc-d:rgba(249,115,22,.08); --sc-b:rgba(249,115,22,.28); }
[data-svc-id="7"] { --sc:#f43f5e; --sc-d:rgba(244,63,94,.08); --sc-b:rgba(244,63,94,.28); }

/* ── Homepage: Mission rows — colored left border + pre-visible accent ── */
.mission-row[data-svc-id] {
  border-left: 2px solid var(--sc-b, rgba(0,243,255,.2));
  transition: background .2s, border-left-color .2s;
}
.mission-row[data-svc-id] .mission-num {
  color: var(--sc, rgba(0,243,255,.4));
  transition: color .2s;
}
.mission-row[data-svc-id] .mission-accent {
  background: var(--sc, var(--neon-cyan));
  transform: scaleY(0.35);
  opacity: 0.5;
  transition: transform .3s, opacity .3s;
}
.mission-row[data-svc-id]:hover { background: var(--sc-d, rgba(0,243,255,.04)); }
.mission-row[data-svc-id]:hover .mission-accent { transform: scaleY(1); opacity: 1; }
.mission-row[data-svc-id]:hover .mission-arrow { color: var(--sc, var(--neon-cyan)); }
.mission-row[data-svc-id]:hover .mission-title { color: var(--sc, var(--neon-cyan)); }

/* ── Services page: nav buttons — colored active state per service ── */
.service-nav-btn[data-svc-id].active {
  border-left: 2px solid var(--sc, var(--neon-cyan));
  background: var(--sc-d, rgba(0,243,255,.04));
}
.service-nav-btn[data-svc-id].active .service-nav-tag { color: var(--sc, var(--neon-cyan)); }
.service-nav-btn[data-svc-id].active .service-nav-title { color: var(--sc, var(--neon-cyan)); }
.service-nav-btn[data-svc-id]:hover:not(.active) .service-nav-title { color: var(--sc, #fff); }

/* ── Academy: Eco pillar cards — distinct color per pillar ── */
.eco-pillar:nth-child(1) { --pc:#00f3ff; border-top:2px solid rgba(0,243,255,.3); }
.eco-pillar:nth-child(2) { --pc:#f59e0b; border-top:2px solid rgba(245,158,11,.3); }
.eco-pillar:nth-child(3) { --pc:#bd00ff; border-top:2px solid rgba(189,0,255,.3); }
.eco-pillar:nth-child(4) { --pc:#f43f5e; border-top:2px solid rgba(244,63,94,.3); }
.eco-pillar .eco-pillar-icon { color:var(--pc, var(--neon-cyan)); font-size:1.75rem; }
.eco-pillar .eco-pillar-number { color:var(--pc, rgba(0,243,255,.45)); }
.eco-pillar:hover { border-top-color:var(--pc, rgba(0,243,255,.5)) !important; background:rgba(255,255,255,.025); }

/* ── Academy: Expert cards ── */
.eco-expert-card:nth-child(1) { --pc:#00f3ff; border-top:1px solid rgba(0,243,255,.22); }
.eco-expert-card:nth-child(2) { --pc:#f59e0b; border-top:1px solid rgba(245,158,11,.22); }
.eco-expert-card:nth-child(3) { --pc:#bd00ff; border-top:1px solid rgba(189,0,255,.22); }
.eco-expert-card:nth-child(4) { --pc:#f43f5e; border-top:1px solid rgba(244,63,94,.22); }
.eco-expert-card .eco-expert-icon { color:var(--pc, var(--neon-cyan)); font-size:1.6rem; }
.eco-expert-card .eco-expert-title { transition:color .2s; }
.eco-expert-card:hover .eco-expert-title { color:var(--pc, var(--neon-cyan)); }

/* ── Academy: track accordion — active row colored ── */
.academy-track-row.active-track {
  border-left:3px solid var(--neon-cyan);
  padding-left:.625rem;
  transition:border-left .2s;
}

/* ── About: Value cards — distinct colored top borders ── */
.value-card:nth-child(1) { border-top:2px solid rgba(0,243,255,.3); }
.value-card:nth-child(2) { border-top:2px solid rgba(0,212,204,.3); }
.value-card:nth-child(3) { border-top:2px solid rgba(189,0,255,.3); }
.value-card:nth-child(4) { border-top:2px solid rgba(124,58,237,.3); }
.value-card:nth-child(1) .value-num { color:rgba(0,243,255,.55); }
.value-card:nth-child(2) .value-num { color:rgba(0,212,204,.55); }
.value-card:nth-child(3) .value-num { color:rgba(189,0,255,.55); }
.value-card:nth-child(4) .value-num { color:rgba(124,58,237,.55); }

/* ── About: Process cards — colored step numbers ── */
.process-card:nth-child(1) .process-num { color:#00f3ff; text-shadow:0 0 20px rgba(0,243,255,.35); }
.process-card:nth-child(2) .process-num { color:#00d4cc; text-shadow:0 0 20px rgba(0,212,204,.35); }
.process-card:nth-child(3) .process-num { color:#f59e0b; text-shadow:0 0 20px rgba(245,158,11,.35); }
.process-card:nth-child(4) .process-num { color:#7c3aed; text-shadow:0 0 20px rgba(124,58,237,.35); }

/* ── About: Pillar numbered rows ── */
.pillar-row:nth-child(1) .pillar-num { color:rgba(0,243,255,.5); }
.pillar-row:nth-child(2) .pillar-num { color:rgba(0,212,204,.5); }
.pillar-row:nth-child(3) .pillar-num { color:rgba(245,158,11,.5); }
.pillar-row:nth-child(4) .pillar-num { color:rgba(189,0,255,.5); }
.pillar-row:nth-child(5) .pillar-num { color:rgba(249,115,22,.5); }

/* ── Services: Industry tags — hover accent ── */
.industry-tag { transition:border-color .2s,color .2s,background .2s; }
.industry-tag:hover { border-color:var(--neon-cyan);color:var(--neon-cyan);background:rgba(0,243,255,.06); }

/* ══ AGENT NETWORK — Step card color identity ══ */
.ab-step-card[data-s="0"] { --step-c: #bd00ff; --step-d: rgba(189,0,255,.08); }
.ab-step-card[data-s="1"] { --step-c: #00d4cc; --step-d: rgba(0,212,204,.08); }
.ab-step-card[data-s="2"] { --step-c: #f43f5e; --step-d: rgba(244,63,94,.08); }
.ab-step-card[data-s="3"] { --step-c: #00f3ff; --step-d: rgba(0,243,255,.08); }

.ab-step-card.active {
  border-left: 2px solid var(--step-c, rgba(0,243,255,.3));
  background: var(--step-d, rgba(0,243,255,.04));
}
.ab-step-card.active .ab-sc-step { color: var(--step-c, rgba(0,243,255,.6)); }
.ab-step-card.active .ab-sc-title { color: #fff; }
.ab-step-card.active .ab-sc-chip {
  border-color: var(--step-c, rgba(0,243,255,.3));
  color: var(--step-c, var(--neon-cyan));
}
