:root {
    --color-primary: #1f4e78;
    --color-primary-hover: #173b5c;
    --color-accent: #0e7490;
    --color-secondary: #334155;
    --color-ink: #0f2744;
    --color-success: #15803d;
    --color-warning: #b45309;
    --color-danger: #b91c1c;
    --color-background: #f1f5f9;
    --color-surface: #ffffff;
    --color-text: #0f172a;
    --color-text-muted: #64748b;
    --color-border: #e2e8f0;
    --color-primary-soft: #e8f0f7;
    --color-accent-soft: #e0f2f5;
    --color-success-soft: #dcfce7;
    --color-text-on-dark: #f8fafc;
    --color-text-soft-on-dark: #94a3b8;

    --font-family: 'Inter', sans-serif;
    --border-radius: 8px;
    --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
    --spacing-unit: 8px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 48px;
    --space-8: 64px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--color-text); background: var(--color-surface); font: 16px/1.6 var(--font-family); -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img, video { max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, select { cursor: pointer; }
h1, h2, h3, h4, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-family); letter-spacing: -.035em; line-height: 1.08; }
h1 { font-size: clamp(3rem, 6.6vw, 6.4rem); }
h2 { font-size: clamp(2.2rem, 4.4vw, 4.25rem); }
h3 { font-size: 1.25rem; }
p { color: var(--color-text-muted); }
.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.narrow { max-width: 900px; }
.section { padding: var(--space-8) 0; }
.section-tight { padding-top: 40px; }
.soft-section { background: var(--color-background); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 9999; top: -60px; left: 20px; color: #fff; background: var(--color-primary); padding: 10px 16px; border-radius: 8px; }
.skip-link:focus { top: 20px; }
:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 3px; }

.eyebrow { display: block; margin-bottom: 16px; color: var(--color-primary-hover); font-size: .76rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow-light { color: var(--color-accent); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 11px 20px; border: 1px solid transparent; border-radius: 12px; font-weight: 700; line-height: 1.1; transition: .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-large { min-height: 56px; padding: 15px 25px; }
.btn-small { min-height: 40px; padding: 9px 16px; font-size: .9rem; }
.btn-primary { color: #fff; background: var(--color-primary); box-shadow: 0 10px 24px rgba(31, 78, 120, .2); }
.btn-primary:hover { background: var(--color-primary-hover); }
.btn-accent { color: #fff; background: var(--color-accent); }
.btn-accent:hover { background: #0c637a; }
.btn-light { color: var(--color-text); background: #fff; }
.btn-ghost { border-color: var(--color-border); background: rgba(255,255,255,.74); }
.btn-soft { border-color: var(--color-border); background: var(--color-background); }
.btn-outline-light { color: #fff; border-color: rgba(255,255,255,.35); }
.btn-block { width: 100%; }
.btn-complete { color: var(--color-primary); background: var(--color-success-soft); border-color: #86efac; }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--color-primary); font-weight: 800; }
.text-link i { transition: transform .2s; }
.text-link:hover i { transform: translateX(4px); }

/* Navigation */
.site-header { position: sticky; z-index: 100; top: 0; border-bottom: 1px solid var(--color-border); background: rgba(255,255,255,.92); backdrop-filter: blur(18px); }
.nav-shell { display: grid; grid-template-columns: auto 1fr auto; align-items: center; min-height: 76px; gap: 36px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--color-text); font-family: var(--font-family); font-size: 1.05rem; font-weight: 700; letter-spacing: -.035em; }
.brand strong { color: var(--color-primary-hover); }
.brand-light { color: #fff; }
.brand-light strong { color: var(--color-accent); }
.brand-mark { position: relative; display: inline-flex; align-items: flex-end; gap: 2px; width: 28px; height: 28px; padding: 6px; background: var(--color-primary); border-radius: 9px; transform: rotate(-3deg); }
.brand-mark span { width: 4px; background: var(--color-accent); border-radius: 4px; }
.brand-mark span:nth-child(1) { height: 8px; }.brand-mark span:nth-child(2) { height: 15px; }.brand-mark span:nth-child(3) { height: 11px; }
.site-nav { display: flex; justify-content: center; gap: 6px; }
.site-nav a { position: relative; padding: 9px 14px; color: var(--color-text-muted); font-size: .92rem; font-weight: 700; }
.site-nav a::after { position: absolute; right: 14px; bottom: 3px; left: 14px; height: 2px; background: var(--color-primary); content: ""; transform: scaleX(0); transition: .2s; }
.site-nav a:hover, .site-nav a.active { color: var(--color-text); }
.site-nav a.active::after { transform: scaleX(1); }
.nav-actions { display: flex; align-items: center; gap: 16px; }
.nav-login { font-size: .92rem; font-weight: 700; }
.user-pill { display: flex; align-items: center; gap: 9px; font-size: .9rem; font-weight: 700; }
.avatar-fallback { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; width: 36px; height: 36px; color: var(--color-primary); background: var(--color-primary-soft); border-radius: 50%; font-size: .74rem; font-weight: 800; }
.avatar-large { width: 68px; height: 68px; font-size: 1.1rem; }
.menu-toggle { display: none; padding: 6px; color: var(--color-text); background: none; border: 0; font-size: 1.7rem; }

/* Public hero */
.hero { position: relative; overflow: hidden; padding: 72px 0 64px; color: #fff; background: linear-gradient(135deg, var(--color-ink) 0%, var(--color-primary) 55%, var(--color-primary-hover) 100%); }
.hero h1, .hero h2, .hero h3 { color: #fff; }
.hero::before { position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 48px 48px; content: ""; mask-image: linear-gradient(to bottom, #000 40%, transparent); }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 48px; }
.signal-pill { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 28px; padding: 7px 12px; color: var(--color-primary); background: var(--color-background); border: 1px solid var(--color-border); border-radius: 999px; font-size: .73rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.signal-pill span { width: 7px; height: 7px; background: var(--color-success); border-radius: 50%; box-shadow: none; }
.hero h1 { max-width: 760px; margin-bottom: 28px; }
.hero h1 em, .page-hero h1 em { color: var(--color-accent-soft); font-style: normal; }
.hero-lead { max-width: 650px; margin-bottom: 28px; font-size: 1.18rem; color: var(--color-text-soft-on-dark); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.trust-row { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 22px; margin-top: 32px; color: var(--color-text-soft-on-dark); font-size: .75rem; }
.trust-row span { text-transform: uppercase; letter-spacing: .12em; }.trust-row strong { color: #fff; }
.hero-stage { position: relative; min-height: 520px; }
.stage-glow { position: absolute; inset: 20% 10%; background: var(--color-accent); border-radius: 50%; filter: blur(90px); opacity: .25; }
.code-window { position: absolute; z-index: 2; top: 52px; right: 0; left: 15px; overflow: hidden; color: #dbeafe; background: #0a1628; border: 1px solid rgba(255,255,255,.12); border-radius: 22px; box-shadow: 0 35px 90px rgba(15, 39, 68, .32); transform: rotate(1.4deg); }
.window-bar { display: flex; align-items: center; gap: 7px; height: 50px; padding: 0 18px; background: rgba(255,255,255,.045); border-bottom: 1px solid rgba(255,255,255,.08); }
.window-bar > span { width: 9px; height: 9px; background: #ef7c79; border-radius: 50%; }.window-bar > span:nth-child(2){background:#eeb64e}.window-bar > span:nth-child(3){background:#64c595}.window-bar small { margin-left: 10px; color: #829a92; }
.code-lines { padding: 38px 30px 40px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .91rem; line-height: 2.35; }
.code-lines div { display: flex; gap: 5px; }.line-no { width: 28px; color: #43645c; }.code-purple { color: #b5a8ff; }.code-green { color: #cbed72; }
.build-status { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; background: rgba(255,255,255,.055); border-top: 1px solid rgba(255,255,255,.08); font-size: .8rem; }.build-status span { color: var(--color-text-soft-on-dark); }.build-status i { color: var(--color-accent); }.build-status strong { color: var(--color-accent-soft); }
.floating-card { position: absolute; z-index: 3; display: flex; align-items: center; color: var(--color-text); background: rgba(255,255,255,.94); border: 1px solid rgba(255,255,255,.7); border-radius: 15px; box-shadow: var(--shadow-sm); backdrop-filter: blur(10px); }
.float-mentor { right: -30px; bottom: 48px; gap: 12px; padding: 13px 17px; }.floating-icon { display:flex;align-items:center;justify-content:center;width:42px;height:42px;color:#fff;background:var(--color-primary);border-radius:11px; }.float-mentor small,.float-mentor strong{display:block}.float-mentor small{color:var(--color-text-muted);font-size:.68rem}.float-mentor strong{font-size:.8rem}
.float-score { bottom: 12px; left: -5px; flex-direction: column; align-items: flex-start; padding: 15px 20px; }.float-score strong{font:800 1.55rem var(--font-family);}.float-score span{color:var(--color-text-muted);font-size:.72rem}
.metric-band { color: #fff; background: var(--color-ink); }.metric-grid { display: grid; grid-template-columns: repeat(4,1fr); }.metric-grid div { padding: 28px 24px; border-left: 1px solid rgba(255,255,255,.1); }.metric-grid div:last-child{border-right:1px solid rgba(255,255,255,.1)}.metric-grid strong,.metric-grid span{display:block}.metric-grid strong{font:800 1.75rem var(--font-family);}.metric-grid strong span{display:inline;color:var(--color-accent);font-size:.9rem}.metric-grid>div>span{color:var(--color-text-soft-on-dark);font-size:.76rem}

.section-heading { margin-bottom: 32px; }.section-heading h2{margin-bottom:0}.section-heading p{max-width:530px}.split-heading{display:grid;grid-template-columns:1fr .65fr;align-items:end;gap:48px}.centered{text-align:center}.centered p{margin-inline:auto}
.service-grid { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.service-card { position:relative; min-height:300px; padding:34px; background:var(--color-surface); border-right:1px solid var(--color-border); border-bottom:1px solid var(--color-border); transition:.25s; }.service-card:hover{z-index:2;background:#fff;box-shadow:var(--shadow-sm);transform:translateY(-6px)}.service-card-featured{background:var(--color-primary);color:#fff}.service-card-featured p{color:var(--color-text-soft-on-dark)}.service-index{position:absolute;top:28px;right:28px;color:var(--color-text-soft-on-dark);font-size:.75rem}.service-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;margin-bottom:20px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:15px;font-size:1.45rem}.service-card-featured .service-icon{color:var(--color-primary);background:var(--color-accent-soft)}.service-card h3{max-width:240px;font-size:1.45rem}.service-card p{font-size:.91rem}.card-arrow{position:absolute;right:28px;bottom:28px;font-size:1.2rem}
.academy-preview{color:#fff;background:var(--color-primary)}.academy-shell{display:grid;grid-template-columns:.72fr 1.28fr;align-items:center;gap:48px}.academy-copy h2{font-size:clamp(2.5rem,4vw,4.3rem)}.academy-copy p{color:var(--color-text-soft-on-dark);font-size:1.05rem}.check-list{padding:0;list-style:none}.check-list li{display:flex;gap:10px;margin:12px 0}.light-list{margin:28px 0 34px;color:#e2e8f0}.light-list i{color:var(--color-accent)}.academy-courses{display:grid;gap:16px}.academy-course{display:grid;grid-template-columns:180px 1fr;overflow:hidden;color:var(--color-text);background:#fff;border-radius:18px;transition:.2s}.academy-course:hover{transform:translateX(6px)}.course-swatch{display:flex;flex-direction:column;justify-content:space-between;min-height:170px;padding:22px;color:#fff;background:var(--color-primary)}.academy-course:nth-child(2) .course-swatch{background:var(--color-primary)}.academy-course:nth-child(3) .course-swatch{background:var(--color-primary)}.course-swatch i{font-size:2rem}.course-swatch span{font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.academy-course-copy{display:flex;flex-direction:column;justify-content:center;padding:24px}.academy-course-copy>span{color:var(--color-text-muted);font-size:.75rem}.academy-course-copy h3{margin:8px 0 22px}.academy-course-copy>div{display:flex;align-items:center;justify-content:space-between}.academy-course-copy i{color:var(--color-primary)}
.process-line{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:34px}.process-line::before{position:absolute;top:24px;right:6%;left:6%;height:1px;background:var(--color-border);content:""}.process-line>div{position:relative;padding-top:48px}.process-line>div>span{position:absolute;z-index:2;top:0;display:flex;align-items:center;justify-content:center;width:48px;height:48px;color:var(--color-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:50%;font-size:.72rem;font-weight:800}.process-line h3{font-size:1.25rem}.process-line p{font-size:.9rem}.process-line.compact{gap:24px}.story-strip{background:var(--color-background)}.story-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px}.story-quote{padding:40px;color:#fff;background:var(--color-ink);border-radius:var(--border-radius)}.story-quote>i{color:var(--color-accent);font-size:2rem}.story-quote blockquote{margin:20px 0 28px;font:700 clamp(1.5rem,2.5vw,2.4rem)/1.35 var(--font-family);letter-spacing:-.035em}.story-quote p strong,.story-quote p span{display:block}.story-quote p strong{color:#fff}.story-quote p span{color:var(--color-text-soft-on-dark);font-size:.8rem}.story-results{align-self:center}.final-cta{padding-top:40px}.cta-panel{position:relative;display:grid;grid-template-columns:1fr .72fr;gap:32px;overflow:hidden;padding:40px;color:#fff;background:var(--color-ink);border-radius:var(--border-radius)}.cta-panel h2{margin:0;font-size:clamp(2.5rem,4.5vw,4.7rem)}.cta-panel p{color:var(--color-text-soft-on-dark);font-size:1.05rem}.cta-panel>div:last-child{align-self:end}.cta-panel>div:last-child>div{display:flex;flex-wrap:wrap;gap:10px}.cta-grid-lines{position:absolute;inset:0;opacity:.08;background-image:linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);background-size:40px 40px;mask-image:linear-gradient(to bottom, #000 50%, transparent)}

/* Shared public pages */
.page-hero{padding:72px 0 56px;color:#fff;background:var(--color-primary)}.page-hero-dark{color:#fff;background:linear-gradient(135deg, var(--color-ink) 0%, var(--color-primary-hover) 100%)}.page-hero-dark p{color:var(--color-text-soft-on-dark)}.page-hero h1{margin-bottom:22px}.page-hero p{max-width:740px;font-size:1.18rem;color:var(--color-text-soft-on-dark)}.page-hero-grid{display:grid;grid-template-columns:1.15fr .55fr;align-items:end;gap:48px}.content-grid{display:grid;grid-template-columns:.7fr 1.1fr;gap:48px}.content-grid h2{font-size:clamp(2.3rem,4vw,3.8rem)}.prose{font-size:1.05rem}.prose p{margin-bottom:24px}.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.value-grid article{min-height:260px;padding:30px;background:#fff;border:1px solid var(--color-border);border-radius:16px}.value-grid article>span{color:var(--color-primary-hover);font-size:.72rem;font-weight:800}.value-grid h3{margin-top:24px}.value-grid p{font-size:.9rem}.team-callout{display:grid;grid-template-columns:1fr .8fr;align-items:center;gap:48px}.team-callout>div:first-child p{max-width:600px}.team-orbit{position:relative;width:380px;height:380px;margin:auto;border:1px dashed var(--color-border);border-radius:50%;animation:orbit 25s linear infinite}.team-orbit strong{position:absolute;inset:34%;display:flex;align-items:center;justify-content:center;color:#fff;background:var(--color-primary);border-radius:50%;font-size:1.5rem}.team-orbit span{position:absolute;display:flex;align-items:center;justify-content:center;width:55px;height:55px;color:var(--color-primary);background:#fff;border:1px solid var(--color-border);border-radius:50%;box-shadow:var(--shadow-sm)}.team-orbit span:nth-child(1){top:-25px;left:43%}.team-orbit span:nth-child(2){top:25%;right:-20px}.team-orbit span:nth-child(3){right:8%;bottom:4%}.team-orbit span:nth-child(5){bottom:3%;left:8%}.team-orbit span:nth-child(6){top:25%;left:-20px}@keyframes orbit{to{transform:rotate(360deg)}}.team-orbit>*{animation:counter 25s linear infinite}@keyframes counter{to{transform:rotate(-360deg)}}
.contact-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:28px}.contact-card,.contact-aside{padding:44px;background:#fff;border:1px solid var(--color-border);border-radius:var(--border-radius)}.contact-card h2{font-size:2.4rem}.contact-aside{display:grid;align-content:start;gap:30px;color:#fff;background:var(--color-primary)}.contact-aside>div{display:grid;grid-template-columns:30px 1fr;gap:1px 10px}.contact-aside i{grid-row:1/3;color:var(--color-accent);font-size:1.2rem}.contact-aside span{color:var(--color-text-soft-on-dark);font-size:.72rem;text-transform:uppercase}.contact-aside a,.contact-aside strong{color:#fff}.contact-aside .aside-cta{display:block;margin-top:15px;padding-top:28px;border-top:1px solid rgba(255,255,255,.15)}.aside-cta p{color:var(--color-text-soft-on-dark)}.aside-cta .text-link{color:var(--color-accent-soft)}

/* Services */
.hero-note{padding:26px;color:#fff;background:var(--color-primary);border-radius:18px}.hero-note i{color:var(--color-accent);font-size:1.5rem}.hero-note p{margin:14px 0;color:var(--color-text-soft-on-dark)}.hero-note p strong{display:block;color:#fff}.hero-note a{color:var(--color-accent-soft);font-weight:700}.service-list{border-top:1px solid var(--color-border)}.service-row{display:grid;grid-template-columns:55px 70px 1fr 200px;gap:28px;align-items:center;padding:32px 12px;border-bottom:1px solid var(--color-border)}.service-row-number{color:var(--color-text-muted);font-size:.75rem}.service-row-icon{display:flex;align-items:center;justify-content:center;width:60px;height:60px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:16px;font-size:1.5rem}.service-row-copy>span{color:var(--color-primary-hover);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.service-row-copy h2{margin:7px 0 12px;font-size:1.75rem}.service-row-copy p{margin-bottom:15px}.service-tags{display:flex;flex-wrap:wrap;gap:7px}.service-tags span{padding:5px 9px;color:var(--color-text-muted);background:var(--color-background);border-radius:999px;font-size:.7rem}.service-row-action{display:grid;justify-items:end;gap:14px}.service-row-action small{color:var(--color-text-muted);text-align:right}.circle-link{display:flex;align-items:center;justify-content:center;width:48px;height:48px;color:#fff;background:var(--color-primary);border-radius:50%;font-size:1.1rem}.service-row-action .text-link{font-size:.76rem}.booking-section{padding:64px 0;color:#fff;background:var(--color-ink);scroll-margin-top:70px}.booking-grid{display:grid;grid-template-columns:.68fr 1.32fr;gap:48px}.booking-copy{position:sticky;top:120px;align-self:start}.booking-copy h2{font-size:clamp(2.5rem,4vw,4rem)}.booking-copy>p{color:var(--color-text-soft-on-dark)}.booking-copy ol{margin:45px 0 0;padding:0;list-style:none}.booking-copy li{display:flex;gap:18px;padding:18px 0;border-top:1px solid rgba(255,255,255,.1)}.booking-copy li>span{color:var(--color-accent);font-size:.72rem;font-weight:800}.booking-copy li strong{display:block}.booking-copy li p{margin:3px 0;color:var(--color-text-soft-on-dark);font-size:.82rem}.booking-card{color:var(--color-text);background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.22)}.booking-card-head{display:flex;justify-content:space-between;padding:22px 28px;background:var(--color-background);border-radius:22px 22px 0 0;border-bottom:1px solid var(--color-border)}.booking-card-head span{font-weight:800}.booking-card-head strong{color:var(--color-primary-hover);font-size:.75rem}.booking-card form{padding:32px}.booking-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:8px;padding-top:24px;border-top:1px solid var(--color-border)}.booking-submit p{max-width:380px;margin:0;font-size:.76rem}.service-detail-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:260px;color:#fff;background:var(--color-primary);border-radius:var(--border-radius)}.service-detail-mark i{margin-bottom:25px;color:var(--color-accent);font-size:4rem}.service-detail-mark span{font-size:.8rem}.back-link{display:inline-flex;gap:8px;margin-bottom:35px;color:var(--color-text-muted);font-weight:700}.service-detail-grid{display:grid;grid-template-columns:1fr 380px;gap:48px}.prose-large{font-size:1.15rem}.deliverable-card{padding:34px;background:var(--color-background);border-radius:var(--border-radius)}.deliverable-card>span{font-weight:800}.deliverable-card ul{margin:22px 0 30px;padding:0;list-style:none}.deliverable-card li{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-border)}.deliverable-card li i{color:var(--color-success)}

/* Forms */
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stack-form{display:grid;gap:14px}.split-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field-full{grid-column:1/-1}.field label,.label-row label{color:var(--color-text);font-size:.78rem;font-weight:800}.field label small{color:var(--color-text-muted);font-weight:500}.field input,.field textarea,.field select,.catalog-controls input,.catalog-controls select,.compact-filter select,.access-form select,.governance-controls select{width:100%;min-height:48px;padding:11px 13px;color:var(--color-text);background:#fff;border:1px solid var(--color-border);border-radius:10px;outline:0;transition:.2s}.field textarea{resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.catalog-controls input:focus,.catalog-controls select:focus{border-color:var(--color-primary-hover);box-shadow:0 0 0 4px rgba(31,78,120,.12)}.field input:disabled{color:var(--color-text-muted);background:var(--color-background)}.field>small{min-height:1em;font-size:.72rem}.field>small.field-error,.field>small:not(:empty){color:var(--color-danger)}.field>small:empty{display:none}.check-field{display:flex;align-items:flex-start;gap:10px;color:var(--color-text-muted);font-size:.8rem}.check-field input{margin-top:4px;accent-color:var(--color-primary)}.label-row{display:flex;align-items:center;justify-content:space-between}.label-row a{color:var(--color-primary-hover);font-size:.75rem;font-weight:700}.input-icon{position:relative}.input-icon>i{position:absolute;top:15px;left:14px;color:var(--color-text-muted)}.input-icon input{padding-left:41px}.password-toggle{position:absolute;top:7px;right:7px;padding:7px;color:var(--color-text-muted);background:transparent;border:0}.file-button{position:relative;overflow:hidden;padding:10px 14px;background:var(--color-background);border:1px solid var(--color-border);border-radius:10px;font-size:.8rem;font-weight:700}.file-button input{position:absolute;opacity:0;inset:0}.inline-upload{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.password-meter{height:4px;overflow:hidden;background:var(--color-border);border-radius:5px}.password-meter span{display:block;width:0;height:100%;transition:.2s}

/* Course catalog and detail */
.academy-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.academy-proof>div{padding:22px;background:#fff;border:1px solid var(--color-border);border-radius:15px}.academy-proof strong,.academy-proof span{display:block}.academy-proof strong{font:800 1.8rem var(--font-family)}.academy-proof span{color:var(--color-text-muted);font-size:.72rem}.academy-proof i,.star{color:#e8a92c}.catalog-bar{position:sticky;z-index:20;top:76px;padding:14px 0;background:rgba(255,255,255,.94);border-bottom:1px solid var(--color-border);backdrop-filter:blur(15px)}.catalog-controls{display:grid;grid-template-columns:1.4fr repeat(4,.75fr);gap:9px}.search-field{position:relative}.search-field i{position:absolute;top:14px;left:14px;color:var(--color-text-muted)}.search-field input{padding-left:40px}.catalog-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:35px}.catalog-heading h2{margin:0;font-size:2.3rem}.catalog-heading>span{color:var(--color-text-muted)}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.course-card{overflow:hidden;background:#fff;border:1px solid var(--color-border);border-radius:18px;box-shadow:0 4px 12px rgba(7,26,23,.03);transition:.25s}.course-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-5px)}.course-cover{display:flex;flex-direction:column;justify-content:space-between;min-height:210px;padding:24px;color:#fff;background:var(--color-primary)}.cover-2{background:var(--color-primary)!important}.cover-3{background:var(--color-primary)!important}.cover-4{background:var(--color-primary)!important}.course-cover>span{align-self:flex-start;padding:5px 9px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:.66rem;font-weight:700}.course-cover>i{align-self:center;font-size:3.4rem}.course-cover>small{font-size:.7rem}.course-card-body{padding:23px}.course-meta{display:flex;justify-content:space-between;color:var(--color-text-muted);font-size:.7rem;text-transform:uppercase}.course-meta i{color:#eaa922}.course-card h3{min-height:2.7em;margin:12px 0;font-size:1.25rem}.course-card p{min-height:4.4em;font-size:.83rem}.course-instructor{display:flex;align-items:center;gap:8px;margin:18px 0;color:var(--color-text-muted);font-size:.75rem}.course-instructor .avatar-fallback{width:28px;height:28px;font-size:.58rem}.course-card-foot{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--color-border)}.course-card-foot a{color:var(--color-primary);font-size:.76rem;font-weight:800}.pagination{display:flex;justify-content:center;gap:7px;margin-top:45px}.pagination a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border:1px solid var(--color-border);border-radius:9px}.pagination a.active{color:#fff;background:var(--color-primary)}.empty-state{padding:48px 30px;text-align:center;background:#fff;border:1px dashed var(--color-border);border-radius:var(--border-radius)}.empty-state>span{display:flex;align-items:center;justify-content:center;width:70px;height:70px;margin:0 auto 20px;color:var(--color-primary);background:var(--color-background);border-radius:50%;font-size:1.7rem}.empty-state h3{margin-bottom:8px}.academy-banner{padding:48px 0;color:#fff;background:var(--color-primary)}.academy-banner>.shell{display:flex;align-items:center;justify-content:space-between;gap:50px}.academy-banner h2{max-width:700px;margin:0;font-size:2.4rem}
.course-detail-hero{padding:64px 0;color:#fff;background:linear-gradient(135deg, var(--color-ink) 0%, var(--color-primary) 100%)}.course-detail-grid{display:grid;grid-template-columns:1fr 360px;align-items:start;gap:48px}.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:35px;color:var(--color-text-soft-on-dark);font-size:.75rem}.course-level-pill{display:inline-block;margin-bottom:16px;padding:6px 10px;color:var(--color-accent-soft);background:rgba(14,116,144,.15);border:1px solid rgba(14,116,144,.35);border-radius:999px;font-size:.72rem;font-weight:800}.course-detail-copy h1{max-width:850px;margin-bottom:25px;font-size:clamp(2.8rem,5vw,5.4rem)}.course-detail-copy>p{max-width:750px;color:var(--color-text-soft-on-dark);font-size:1.15rem}.course-detail-meta{display:flex;flex-wrap:wrap;gap:20px;margin:28px 0;color:var(--color-text-soft-on-dark);font-size:.8rem}.course-detail-meta i{color:var(--color-accent)}.mentor-line{display:flex;align-items:center;gap:11px}.mentor-line small,.mentor-line strong{display:block}.mentor-line small{color:var(--color-text-soft-on-dark);font-size:.67rem}.mentor-line strong{font-size:.85rem}.enroll-card{position:sticky;top:105px;overflow:hidden;color:var(--color-text);background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.enroll-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;color:#fff;background:var(--color-primary)}.enroll-visual i{display:flex;align-items:center;justify-content:center;width:55px;height:55px;margin-bottom:14px;color:#fff;background:var(--color-accent);border-radius:50%;font-size:1.7rem}.enroll-visual span{font-size:.72rem}.enroll-body{padding:25px}.price-line{display:flex;align-items:center;gap:10px;margin-bottom:18px}.price-line strong{font:800 1.7rem var(--font-family)}.price-line del{color:var(--color-text-muted)}.enroll-body>small{display:block;margin-top:10px;color:var(--color-text-muted);font-size:.7rem;text-align:center}.enroll-body ul{margin:25px 0 0;padding:20px 0 0;border-top:1px solid var(--color-border);list-style:none}.enroll-body li{display:flex;gap:8px;margin:9px 0;color:var(--color-text-muted);font-size:.78rem}.enroll-body li i{color:var(--color-success)}.course-content-section{background:#fff}.course-content-grid{display:grid;grid-template-columns:1fr 300px;gap:48px}.course-main>section{padding-bottom:48px}.course-main h2{font-size:2.4rem}.outcome-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.outcome-grid>div{display:flex;gap:12px;padding:18px;background:var(--color-background);border-radius:12px}.outcome-grid i{color:var(--color-success)}.curriculum-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:25px}.curriculum-heading h2{margin:0}.curriculum-heading>span{color:var(--color-text-muted);font-size:.8rem}.curriculum-list details{border-top:1px solid var(--color-border)}.curriculum-list details:last-child{border-bottom:1px solid var(--color-border)}.curriculum-list summary{display:flex;align-items:center;justify-content:space-between;padding:20px 5px;cursor:pointer;list-style:none}.curriculum-list summary small,.curriculum-list summary strong{display:block}.curriculum-list summary small{color:var(--color-primary-hover);font-size:.65rem;text-transform:uppercase}.curriculum-list summary>span:last-child{color:var(--color-text-muted);font-size:.72rem}.curriculum-list details>div{padding:0 10px 15px}.curriculum-lesson{display:grid;grid-template-columns:25px 1fr auto;align-items:center;padding:11px 5px;color:var(--color-text-muted);font-size:.82rem}.curriculum-lesson small{color:var(--color-text-muted)}.course-sidebar{display:grid;align-self:start;gap:15px}.course-sidebar>div{padding:25px;background:var(--color-background);border-radius:14px}.course-sidebar dl{margin:0}.course-sidebar dl>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--color-border)}.course-sidebar dt{color:var(--color-text-muted);font-size:.75rem}.course-sidebar dd{margin:0;font-size:.78rem;font-weight:700}.course-sidebar p{font-size:.82rem}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.review-grid article{padding:25px;background:var(--color-background);border-radius:14px}.review-grid article i{color:#e8aa2e}.review-grid article p{margin:14px 0;font-size:.9rem}

/* Footer */
.site-footer{margin-top:48px;padding:48px 0 24px;color:#fff;background:var(--color-ink)}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,.65fr);gap:48px}.footer-intro p{max-width:350px;margin-top:25px;color:var(--color-text-soft-on-dark)}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:9px}.footer-grid a:not(.brand){color:var(--color-text-soft-on-dark);font-size:.82rem}.footer-grid a:hover{color:var(--color-accent-soft)}.footer-label{margin-bottom:12px;color:var(--color-accent);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.footer-grid p{color:var(--color-text-soft-on-dark);font-size:.8rem}.footer-bottom{display:flex;justify-content:space-between;margin-top:40px;padding-top:22px;color:var(--color-text-soft-on-dark);border-top:1px solid rgba(255,255,255,.08);font-size:.72rem}

/* Authentication */
.auth-body{display:grid;grid-template-columns:1fr 480px;min-height:100vh;background:var(--color-ink)}.auth-brand{position:fixed;z-index:2;top:24px;left:32px}.auth-scene{position:relative;overflow:hidden;background:linear-gradient(145deg, var(--color-ink) 0%, var(--color-primary-hover) 55%, var(--color-primary) 100%)}.auth-scene::before{position:absolute;inset:0;opacity:.1;background-image:linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px);background-size:60px 60px;content:""}.orb{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;animation:orbPulse 8s ease-in-out infinite alternate}.orb-one{top:18%;left:14%;width:320px;height:320px}.orb-two{right:8%;bottom:10%;width:200px;height:200px;animation-delay:2s}@keyframes orbPulse{from{opacity:.35;transform:scale(1)}to{opacity:.6;transform:scale(1.04)}}.auth-quote{position:absolute;z-index:1;right:10%;bottom:10%;left:10%;max-width:520px}.auth-quote .auth-scene-eyebrow{display:block;margin-bottom:12px;color:var(--color-accent);font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.auth-quote span,.auth-quote strong{display:block;font:800 clamp(2rem,4vw,3.6rem)/1.08 var(--font-family);letter-spacing:-.04em;color:#fff}.auth-quote strong{color:var(--color-accent-soft)}.auth-quote p{max-width:420px;margin-top:16px;color:var(--color-text-soft-on-dark);font-size:.95rem;line-height:1.6}.auth-panel{display:flex;flex-direction:column;justify-content:center;padding:40px 36px;color:var(--color-text);background:var(--color-surface);border-left:1px solid var(--color-border)}.auth-card{width:100%;max-width:400px;margin:auto}.auth-heading{margin-bottom:24px}.auth-heading .eyebrow{margin-bottom:10px}.auth-heading h1{margin-bottom:8px;font-size:1.75rem;line-height:1.15;letter-spacing:-.03em}.auth-heading p{margin-bottom:0;font-size:.9rem;line-height:1.5}.auth-form-grid{gap:12px}.auth-divider{position:relative;margin:20px 0;text-align:center}.auth-divider::before{position:absolute;top:50%;right:0;left:0;height:1px;background:var(--color-border);content:""}.auth-divider span{position:relative;padding:0 12px;color:var(--color-text-muted);background:var(--color-surface);font-size:.72rem}.auth-support,.auth-switch,.auth-foot{color:var(--color-text-muted);font-size:.78rem;text-align:center;line-height:1.5}.auth-switch{margin-top:20px}.auth-switch a,.auth-link{color:var(--color-primary);font-weight:700}.auth-switch a:hover,.auth-link:hover{color:var(--color-primary-hover)}.auth-foot{margin:20px 0 0}.auth-actions{margin-top:4px}.field-error{color:var(--color-danger);font-size:.72rem;min-height:1em}

/* Auth pages (login / register within main layout) */
.auth-page{padding:var(--space-7) 0}.site-footer.auth-page-footer{margin-top:0}.auth-page-grid{display:grid;grid-template-columns:1fr 440px;align-items:start;gap:var(--space-7)}.auth-page-aside{padding-top:var(--space-4)}.auth-page-aside .eyebrow{margin-bottom:var(--space-3)}.auth-page-aside h2{margin-bottom:var(--space-4);font-size:clamp(1.85rem,3vw,2.6rem);line-height:1.12;letter-spacing:-.03em}.auth-page-aside>p{max-width:420px;margin-bottom:var(--space-5);font-size:1rem;line-height:1.6}.auth-feature-list{margin:0;padding:0;list-style:none}.auth-feature-list li{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:var(--color-text);font-size:.9rem;font-weight:600}.auth-feature-list i{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--color-primary);background:var(--color-primary-soft);border-radius:10px;font-size:1rem}.auth-page-card{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-sm)}.auth-page-card .auth-heading{margin-bottom:var(--space-5)}.auth-page-card .auth-heading h1{margin-bottom:6px;font-size:1.65rem;line-height:1.15;letter-spacing:-.03em}.auth-page-card .auth-heading p{margin:0;font-size:.88rem}.auth-page-card .auth-switch{text-align:left}.auth-page-card .auth-support{text-align:left;margin-top:var(--space-3)}main:has(.auth-page)+.site-footer{margin-top:0}

/* App workspace */
.app-body{min-height:100vh;background:var(--color-background)}.app-sidebar{position:fixed;z-index:80;inset:0 auto 0 0;display:flex;flex-direction:column;width:260px;padding:28px 20px;color:#fff;background:var(--color-ink)}.app-sidebar>.brand{padding-inline:8px}.workspace-label{margin:32px 8px 13px;color:var(--color-text-soft-on-dark);font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.app-nav{display:grid;gap:5px}.app-nav a,.sidebar-bottom>a,.sidebar-bottom button{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;color:var(--color-text-soft-on-dark);background:transparent;border:0;border-radius:10px;font-size:.82rem;font-weight:700;text-align:left}.app-nav a i,.sidebar-bottom i{font-size:1rem}.app-nav a:hover,.app-nav a.active,.sidebar-bottom a:hover,.sidebar-bottom button:hover{color:#fff;background:rgba(255,255,255,.07)}.app-nav a.active{color:var(--color-accent-soft)}.sidebar-bottom{display:grid;gap:3px;margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-bottom form{margin:0}.app-main{min-height:100vh;margin-left:260px}.app-topbar{display:flex;align-items:center;justify-content:space-between;min-height:92px;padding:15px 34px;background:#fff;border-bottom:1px solid var(--color-border)}.app-topbar .eyebrow{margin:0;font-size:.58rem}.app-topbar h1{margin:2px 0 0;font-size:1.45rem}.sidebar-toggle{display:none;color:var(--color-text);background:transparent;border:0;font-size:1.5rem}.app-content{padding:28px 34px 40px}.app-flashes{margin:20px 34px 0}.welcome-panel{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:24px;padding:32px;color:#fff;background:linear-gradient(135deg, var(--color-ink) 0%, var(--color-primary) 100%);border-radius:var(--border-radius)}.welcome-panel h2{margin-bottom:8px;font-size:2.2rem}.welcome-panel p{max-width:650px;margin:0;color:var(--color-text-soft-on-dark)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:30px}.five-stats{grid-template-columns:repeat(5,1fr)}.stat-grid article{display:flex;align-items:center;gap:14px;padding:22px;background:#fff;border:1px solid var(--color-border);border-radius:15px}.stat-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;font-size:1.15rem}.stat-icon.mint{color:#146a55;background:#dcf5eb}.stat-icon.purple{color:#604dbf;background:#ede9ff}.stat-icon.amber{color:#9a6412;background:#fff0cf}.stat-icon.blue{color:#286b9e;background:#e0f0fb}.stat-icon.green{color:#24744e;background:#dff5e8}.stat-grid small,.stat-grid strong{display:block}.stat-grid small{color:var(--color-text-muted);font-size:.7rem}.stat-grid strong{font:800 1.55rem var(--font-family)}.app-section{margin-bottom:28px}.app-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.app-section-heading .eyebrow{margin-bottom:4px;font-size:.6rem}.app-section-heading h2{margin:0;font-size:1.55rem}.app-section-heading>a{color:var(--color-primary);font-size:.78rem;font-weight:800}.learning-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.learning-card{overflow:hidden;background:#fff;border:1px solid var(--color-border);border-radius:15px}.mini-cover{display:flex;align-items:center;justify-content:space-between;min-height:110px;padding:20px;color:#fff;background:var(--color-primary)}.mini-cover i{font-size:2rem}.mini-cover>span{font-size:.68rem}.learning-card>div{padding:20px}.learning-card>div>span{color:var(--color-text-muted);font-size:.68rem}.learning-card h3{min-height:2.4em;margin:5px 0 20px;font-size:1.05rem}.progress-label{display:flex;justify-content:space-between;margin-bottom:6px;font-size:.68rem}.progress-track{height:6px;overflow:hidden;background:var(--color-border);border-radius:10px}.progress-track span{display:block;height:100%;background:linear-gradient(90deg, var(--color-primary), var(--color-accent));border-radius:10px}.learning-card .btn{margin-top:16px}.compact-empty{padding:38px}.recommendation-list,.activity-list{overflow:hidden;background:#fff;border:1px solid var(--color-border);border-radius:15px}.recommendation-list>a,.activity-list>a,.activity-list>div{display:flex;align-items:center;gap:14px;padding:15px 18px;border-bottom:1px solid var(--color-border)}.recommendation-list>a:last-child,.activity-list>*:last-child{border:0}.recommendation-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:#fff;border-radius:10px;background:#7464d8}.recommendation-list div,.activity-list div{flex:1}.recommendation-list small,.recommendation-list strong,.activity-list small,.activity-list strong{display:block}.recommendation-list small,.activity-list small{color:var(--color-text-muted);font-size:.65rem}.recommendation-list>a>span:last-child,.activity-list>*>span:last-child{color:var(--color-text-muted);font-size:.75rem}.activity-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--color-primary);background:var(--color-background);border-radius:10px}.dashboard-split{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.table-card{overflow:hidden;background:#fff;border:1px solid var(--color-border);border-radius:15px}.table-card table{width:100%;border-collapse:collapse}.table-card th{padding:13px 16px;color:var(--color-text-muted);background:var(--color-background);font-size:.65rem;text-align:left;text-transform:uppercase;letter-spacing:.06em}.table-card td{padding:14px 16px;color:var(--color-text-muted);border-top:1px solid var(--color-border);font-size:.76rem}.table-title{display:flex;align-items:center;gap:10px;min-width:180px}.table-title strong,.table-title small{display:block}.table-title strong{color:var(--color-text)}.table-title small{color:var(--color-text-muted);font-size:.65rem}.table-icon{display:flex;align-items:center;justify-content:center;width:37px;height:37px;color:var(--color-primary);background:var(--color-background);border-radius:9px}.table-progress{display:flex;align-items:center;gap:8px;min-width:130px}.table-progress .progress-track{flex:1}.table-progress strong{font-size:.65rem}.table-empty{padding:35px!important;color:var(--color-text-muted)!important;text-align:center!important}.status{display:inline-flex;padding:5px 8px;color:var(--color-text-muted);background:var(--color-background);border-radius:999px;font-size:.63rem;font-weight:800;white-space:nowrap}.status-active,.status-completed,.status-published,.status-won{color:#1f704e;background:#dff5e8}.status-draft,.status-pending,.status-new{color:#8b651c;background:#fff0ce}.status-suspended,.status-archived,.status-closed{color:#8e4646;background:#f9e4e4}.status-in_progress,.status-scheduled,.status-contacted,.status-quoted{color:#4d55a0;background:#e9e9ff}.row-action{color:var(--color-primary);font-weight:800}.row-actions,.governance-controls{display:flex;align-items:center;gap:5px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--color-primary);background:#fff;border:1px solid var(--color-border);border-radius:8px}.icon-button:hover,.icon-button.active{background:var(--color-primary-soft)}.icon-button.danger{color:var(--color-danger)}.access-form,.governance-controls form{display:flex;gap:5px;margin:0}.access-form select,.governance-controls select{min-height:34px;padding:5px 8px;font-size:.7rem}.certificate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.certificate-card{position:relative;overflow:hidden;padding:28px;background:#fff;border:1px solid var(--color-border);border-radius:17px}.certificate-card::before{position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg, var(--color-primary), var(--color-accent));content:""}.certificate-card>span{color:var(--color-primary-hover);font-size:.66rem;font-weight:800;text-transform:uppercase}.certificate-card h3{margin:12px 55px 12px 0}.certificate-card p{font-size:.78rem}.certificate-card>div:not(.certificate-seal){margin:20px 0;padding:12px;background:var(--color-background);border-radius:9px}.certificate-card small,.certificate-card code{display:block}.certificate-card small{color:var(--color-text-muted);font-size:.6rem}.certificate-seal{position:absolute;top:25px;right:25px;color:var(--color-primary);font-size:2.2rem}.settings-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.settings-grid>div{display:grid;align-content:start;gap:20px}.settings-card{padding:26px;background:#fff;border:1px solid var(--color-border);border-radius:15px}.settings-head{display:flex;gap:13px;margin-bottom:24px}.settings-head h2{margin:0 0 4px;font-size:1.15rem}.settings-head p{margin:0;font-size:.75rem}.settings-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;color:var(--color-primary);background:var(--color-background);border-radius:10px}.editor-layout{display:grid;grid-template-columns:1fr 340px;gap:22px}.editor-main{display:grid;gap:20px}.sticky-card{position:sticky;top:20px}.studio-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.studio-course-grid article{overflow:hidden;background:#fff;border:1px solid var(--color-border);border-radius:15px}.studio-course-grid article>div:last-child{padding:19px}.studio-course-grid article small{color:var(--color-text-muted);font-size:.65rem}.studio-course-grid h3{min-height:2.4em;margin:6px 0 18px}.studio-metrics{display:flex;gap:16px;padding:12px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.studio-metrics span{color:var(--color-text-muted);font-size:.63rem}.studio-metrics strong{color:var(--color-text)}.studio-actions{display:flex;gap:15px;margin-top:15px}.studio-actions a{color:var(--color-primary);font-size:.7rem;font-weight:800}.curriculum-editor-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:24px;padding:28px;color:#fff;background:var(--color-primary);border-radius:15px}.curriculum-editor-head h2{margin:10px 0 5px;font-size:1.75rem}.curriculum-editor-head p{margin:0;color:var(--color-text-soft-on-dark)}.curriculum-editor-head>div:last-child{display:flex;gap:8px}.curriculum-builder{display:grid;grid-template-columns:1fr 300px;gap:20px}.curriculum-sections{display:grid;gap:15px}.builder-section{background:#fff;border:1px solid var(--color-border);border-radius:15px}.builder-section>header{display:flex;align-items:start;justify-content:space-between;padding:22px;border-bottom:1px solid var(--color-border)}.builder-section>header span{color:var(--color-primary-hover);font-size:.6rem;font-weight:800;text-transform:uppercase}.builder-section>header h3{margin:3px 0}.builder-section>header p{margin:0;font-size:.74rem}.builder-lesson{display:grid;grid-template-columns:22px 36px 1fr auto;align-items:center;gap:9px;padding:12px 18px;border-bottom:1px solid var(--color-border)}.drag-handle{color:#a9b5b1}.lesson-type{display:flex;align-items:center;justify-content:center;width:34px;height:34px;color:var(--color-primary);background:var(--color-background);border-radius:9px}.builder-lesson strong,.builder-lesson small{display:block}.builder-lesson strong{font-size:.8rem}.builder-lesson small{color:var(--color-text-muted);font-size:.63rem}.add-lesson-panel summary{padding:15px 20px;color:var(--color-primary);font-size:.76rem;font-weight:800;cursor:pointer;list-style:none}.add-lesson-panel form{padding:20px;background:var(--color-background);border-top:1px solid var(--color-border)}.add-section-card{position:sticky;top:20px;align-self:start;padding:25px;background:#fff;border:1px solid var(--color-border);border-radius:15px}.add-section-card h3{margin:18px 0 5px}.add-section-card p{font-size:.75rem}.management-grid{display:grid;grid-template-columns:1fr 380px;gap:20px}.management-list{display:grid;gap:10px}.management-list article{display:grid;grid-template-columns:45px 1fr auto 35px;align-items:center;gap:12px;padding:17px;background:#fff;border:1px solid var(--color-border);border-radius:12px}.management-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;color:var(--color-primary);background:var(--color-background);border-radius:10px}.management-list strong,.management-list small{display:block}.management-list small{color:var(--color-text-muted);font-size:.62rem}.management-list p{margin:5px 0 0;font-size:.7rem}.service-editor{position:sticky;top:20px;align-self:start}.booking-admin-list{display:grid;gap:10px}.booking-admin-list details{background:#fff;border:1px solid var(--color-border);border-radius:13px}.booking-admin-list summary{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;cursor:pointer;list-style:none}.booking-admin-list summary>div:first-child{display:grid;grid-template-columns:auto auto;gap:2px 10px}.booking-admin-list summary strong{align-self:center}.booking-admin-list summary small{grid-column:2;color:var(--color-text-muted)}.booking-admin-list summary>div:last-child{display:flex;gap:15px;color:var(--color-text-muted);font-size:.7rem}.booking-admin-detail{display:grid;grid-template-columns:1fr 300px;gap:30px;padding:25px;border-top:1px solid var(--color-border)}.booking-context dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.booking-context dl>div{padding:10px;background:var(--color-background);border-radius:8px}.booking-context dt{color:var(--color-text-muted);font-size:.6rem;text-transform:uppercase}.booking-context dd{margin:2px 0 0;font-size:.75rem;font-weight:700}.booking-message{margin-top:15px}.booking-message span{font-size:.68rem;font-weight:800}.booking-message p{font-size:.78rem}.booking-ops{display:grid;align-content:start;gap:12px}.compact-filter{margin:0}

/* Learning */
.learning-body{min-height:100vh;background:var(--color-background)}.learning-topbar{position:fixed;z-index:90;top:0;right:0;left:0;display:grid;grid-template-columns:260px 1fr auto;align-items:center;height:66px;padding:0 22px;color:#fff;background:var(--color-ink);border-bottom:1px solid rgba(255,255,255,.09)}.learning-course-title{overflow:hidden;padding-left:25px;color:var(--color-text-soft-on-dark);font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.learning-actions{display:flex;align-items:center;gap:18px}.learning-actions>a:first-child{color:var(--color-text-soft-on-dark);font-size:.75rem}.learning-actions .avatar-fallback{color:var(--color-primary)}.learning-shell{display:grid;grid-template-columns:300px 1fr;min-height:calc(100vh - 66px);padding-top:66px}.lesson-sidebar{position:fixed;top:66px;bottom:0;left:0;width:300px;overflow-y:auto;background:#fff;border-right:1px solid var(--color-border)}.lesson-sidebar-head{padding:20px}.lesson-sidebar-head>span{color:var(--color-text-muted);font-size:.7rem}.lesson-sidebar-head>strong{float:right;font-size:.8rem}.lesson-sidebar-head .progress-track{clear:both;margin-top:10px}.lesson-module{border-top:1px solid var(--color-border)}.lesson-module-title{padding:16px 18px 10px}.lesson-module-title small,.lesson-module-title strong{display:block}.lesson-module-title small{color:var(--color-primary-hover);font-size:.58rem;text-transform:uppercase}.lesson-module-title strong{font-size:.78rem}.lesson-link{display:flex;gap:9px;padding:10px 15px;color:var(--color-text-muted)}.lesson-link:hover,.lesson-link.active{color:var(--color-text);background:var(--color-primary-soft).lesson-link.active{box-shadow:inset 3px 0 var(--color-primary-hover)}.lesson-state{display:flex;flex:0 0 auto;align-items:center;justify-content:center;width:26px;height:26px;color:var(--color-text-muted);background:var(--color-background);border-radius:50%;font-size:.7rem}.lesson-state.completed{color:#fff;background:var(--color-success)}.lesson-link strong,.lesson-link small{display:block}.lesson-link strong{font-size:.72rem}.lesson-link small{color:var(--color-text-muted);font-size:.58rem}.lesson-main{grid-column:2;padding:38px}.lesson-canvas{max-width:900px;margin:auto;padding:48px;background:#fff;border:1px solid var(--color-border);border-radius:18px}.lesson-kicker{display:flex;justify-content:space-between;margin-bottom:22px;color:var(--color-primary-hover);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.lesson-canvas h1{font-size:clamp(2.2rem,4vw,3.8rem)}.lesson-video{overflow:hidden;margin:30px 0;background:#000;border-radius:14px}.lesson-video video{display:block;width:100%}.lesson-prose{margin:30px 0;color:var(--color-text);font-size:1.05rem;line-height:1.8}.resource-download{display:flex;align-items:center;gap:14px;margin:25px 0;padding:18px;color:var(--color-primary);background:var(--color-background);border-radius:12px}.resource-download>i:last-child{margin-left:auto}.resource-download strong,.resource-download small{display:block}.resource-download small{color:var(--color-text-muted)}.lesson-actions{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:45px;padding-top:25px;border-top:1px solid var(--color-border)}.lesson-actions span{font-size:.75rem;font-weight:800}.lesson-actions p{margin:3px 0;font-size:.75rem}.certificate-unlocked{display:flex;align-items:center;gap:14px;max-width:900px;margin:0 auto 18px;padding:15px 18px;color:#fff;background:var(--color-primary);border-radius:12px}.certificate-unlocked>i{color:var(--color-accent);font-size:1.6rem}.certificate-unlocked div{flex:1}.certificate-unlocked strong,.certificate-unlocked span{display:block}.certificate-unlocked span{color:var(--color-text-soft-on-dark);font-size:.67rem}.certificate-unlocked a{color:var(--color-accent-soft);font-size:.75rem;font-weight:800}.lesson-menu-button{display:none}.learning-flash{position:fixed;z-index:100;top:76px;right:20px;padding:12px 18px;color:#fff;background:var(--color-primary);border-radius:10px;box-shadow:var(--shadow-sm)}

/* Certificate */
.certificate-page{min-height:700px;padding:64px 0;background:var(--color-primary)}.certificate-lookup{display:grid;grid-template-columns:1fr .75fr;align-items:end;gap:48px;margin-bottom:50px}.certificate-lookup h1{margin-bottom:15px;font-size:3.3rem}.certificate-lookup form{padding:24px;background:#fff;border:1px solid var(--color-border);border-radius:15px;box-shadow:var(--shadow-sm)}.certificate-lookup label{display:block;margin-bottom:8px;font-size:.72rem;font-weight:800}.certificate-lookup form>div{display:flex;gap:7px}.certificate-lookup input{min-width:0;flex:1;padding:11px;border:1px solid var(--color-border);border-radius:9px}.verified-certificate{position:relative;overflow:hidden;padding:50px;background:#fff;border:10px solid var(--color-text);box-shadow:var(--shadow-sm)}.certificate-pattern{position:absolute;inset:0;opacity:.06;background-image:linear-gradient(var(--color-border) 1px, transparent 1px), linear-gradient(90deg, var(--color-border) 1px, transparent 1px);background-size:18px 18px}.verified-certificate header,.verified-certificate footer{position:relative;display:flex;align-items:center;justify-content:space-between}.verified-badge{display:flex;gap:7px;color:var(--color-primary);font-size:.75rem;font-weight:800}.verified-badge i{color:var(--color-success)}.certificate-body{position:relative;max-width:780px;margin:70px auto;text-align:center}.certificate-overline{color:var(--color-primary-hover);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em}.certificate-body h2{margin:18px 0 40px;font-size:3.2rem}.certificate-body h3{margin:8px 0;font-size:2.2rem}.certificate-body>p{max-width:660px;margin-inline:auto}.certificate-meta{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.certificate-meta>div{padding:16px;border-right:1px solid var(--color-border)}.certificate-meta>div:last-child{border:0}.certificate-meta span,.certificate-meta strong{display:block}.certificate-meta span{color:var(--color-text-muted);font-size:.62rem}.certificate-meta strong{font-size:.76rem}.verified-certificate footer>div:not(.certificate-seal){display:grid;min-width:200px;text-align:center}.verified-certificate footer span{font-weight:800}.verified-certificate footer small{color:var(--color-text-muted)}.verified-certificate footer .certificate-seal{position:static;color:var(--color-primary);font-size:3.5rem}.certificate-actions{display:flex;justify-content:center;gap:10px;margin-top:25px}.invalid-certificate{display:flex;align-items:center;gap:20px;padding:35px;color:#7b3333;background:#fff;border:1px solid #f0caca;border-radius:15px}.invalid-certificate>span{font-size:2.2rem}.invalid-certificate h2{margin-bottom:5px;font-size:1.5rem}.invalid-certificate p{margin:0}.verification-explainer{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.verification-explainer>div{padding:30px;background:#fff;border:1px solid var(--color-border);border-radius:14px}.verification-explainer i{color:var(--color-primary);font-size:1.6rem}.verification-explainer h3{margin:20px 0 8px}.verification-explainer p{font-size:.82rem}

/* Insights */
.hero-note label{display:block;margin-bottom:9px;color:var(--color-secondary);font-size:.72rem;font-weight:800;text-transform:uppercase}.hero-note .search-field input{width:100%;min-height:48px;padding:10px 12px 10px 40px;background:#fff;border:0;border-radius:10px}.insight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.insight-grid article{background:#fff;border:1px solid var(--color-border);border-radius:17px;transition:.2s}.insight-grid article:hover{box-shadow:var(--shadow-sm);transform:translateY(-4px)}.insight-grid a{display:block;padding:35px}.insight-grid h2{font-size:2rem}.insight-grid a>div{display:flex;justify-content:space-between;margin-top:35px;padding-top:18px;color:var(--color-text-muted);border-top:1px solid var(--color-border);font-size:.72rem}.article-page header{padding:72px 0 56px;background:var(--color-primary)}.article-page h1{font-size:clamp(2.8rem,5.5vw,5.5rem)}.article-page header p{max-width:780px;font-size:1.2rem}.article-byline{display:flex;align-items:center;gap:10px;margin-top:30px}.article-byline strong,.article-byline small{display:block}.article-byline small{color:var(--color-text-muted)}.article-body{max-width:780px;padding-block:48px;font-size:1.08rem;line-height:1.9;white-space:pre-line}

/* Alerts */
.flash-stack{position:fixed;z-index:200;top:92px;right:22px;width:min(420px,calc(100% - 40px))}.flash{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:13px 15px;background:#fff;border:1px solid var(--color-border);border-radius:11px;box-shadow:var(--shadow-sm);font-size:.8rem}.flash>span{flex:1}.flash button{padding:3px;color:var(--color-text-muted);background:transparent;border:0}.flash-success>i{color:var(--color-success)}.flash-error>i{color:var(--color-danger)}.flash-info>i{color:var(--color-primary)}

@media (max-width: 1100px){
    .hero-grid{grid-template-columns:1fr .8fr;gap:35px}.float-mentor{right:0}.service-grid{grid-template-columns:repeat(2,1fr)}.academy-shell{grid-template-columns:1fr;gap:60px}.academy-copy{max-width:740px}.course-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.2fr repeat(3,.65fr);gap:35px}.five-stats{grid-template-columns:repeat(3,1fr)}.learning-card-grid,.studio-course-grid,.certificate-grid{grid-template-columns:repeat(2,1fr)}.management-grid{grid-template-columns:1fr 340px}
}
@media (max-width: 900px){
    .site-header{position:sticky}.nav-shell{grid-template-columns:auto auto 1fr}.menu-toggle{display:block}.site-nav{position:fixed;top:76px;right:0;bottom:0;left:0;display:none;align-content:start;padding:25px;background:var(--color-surface)}.site-nav.open{display:grid}.site-nav a{padding:15px;font-size:1.1rem}.nav-actions{justify-self:end}.nav-actions .btn{display:none}.hero{padding-top:70px}.hero-grid,.page-hero-grid,.contact-grid,.booking-grid,.service-detail-grid,.course-content-grid,.certificate-lookup{grid-template-columns:1fr}.hero-stage{min-height:470px}.page-hero-grid{gap:35px}.split-heading,.story-grid,.content-grid,.team-callout,.cta-panel{grid-template-columns:1fr;gap:32px}.service-row{grid-template-columns:40px 60px 1fr}.service-row-action{grid-column:3;justify-items:start}.booking-copy{position:static}.process-line{grid-template-columns:1fr 1fr}.process-line::before{display:none}.value-grid{grid-template-columns:1fr 1fr}.course-detail-grid{grid-template-columns:1fr}.enroll-card{position:static;max-width:500px}.footer-grid{grid-template-columns:1fr 1fr}.auth-body{grid-template-columns:1fr}.auth-scene{display:none}.auth-panel{min-height:100vh;border-left:0}.auth-page-grid{grid-template-columns:1fr;gap:var(--space-5)}.auth-page-aside{text-align:center}.auth-page-aside>p{margin-inline:auto}.auth-feature-list{max-width:360px;margin-inline:auto;text-align:left}.app-sidebar{transform:translateX(-100%);transition:.25s}.app-sidebar.open{transform:translateX(0);box-shadow:20px 0 60px rgba(0,0,0,.25)}.app-main{margin-left:0}.sidebar-toggle{display:block}.app-topbar{justify-content:flex-start;gap:15px}.app-topbar .user-pill{margin-left:auto}.stat-grid,.five-stats{grid-template-columns:repeat(2,1fr)}.dashboard-split,.settings-grid,.editor-layout,.curriculum-builder,.management-grid{grid-template-columns:1fr}.sticky-card,.add-section-card,.service-editor{position:static}.booking-admin-detail{grid-template-columns:1fr}.learning-topbar{grid-template-columns:auto 1fr auto}.learning-topbar .brand span:last-child{display:none}.learning-shell{grid-template-columns:1fr}.lesson-sidebar{z-index:70;transform:translateX(-100%);transition:.25s}.lesson-sidebar.open{transform:translateX(0);box-shadow:20px 0 60px rgba(0,0,0,.2)}.lesson-main{grid-column:1;padding:25px}.lesson-menu-button{display:inline-flex;margin:0 auto 12px;padding:8px 12px;background:#fff;border:1px solid var(--color-border);border-radius:8px}.certificate-meta{grid-template-columns:1fr}.certificate-meta>div{border-right:0;border-bottom:1px solid var(--color-border)}.verification-explainer{grid-template-columns:1fr}
}
@media (max-width: 680px){
    .shell{width:min(100% - 28px,1180px)}.section{padding:48px 0}.nav-shell{gap:10px;min-height:68px}.site-nav{top:68px}.nav-actions .nav-login{display:none}.brand{font-size:.95rem}.hero h1{font-size:3.15rem}.hero-stage{min-height:400px}.code-window{top:35px;left:0}.code-lines{padding:25px 18px;font-size:.72rem}.float-mentor{bottom:20px}.float-score{display:none}.trust-row{display:none}.metric-grid{grid-template-columns:1fr 1fr}.metric-grid div{padding:22px 16px}.service-grid,.course-grid,.insight-grid{grid-template-columns:1fr}.academy-course{grid-template-columns:115px 1fr}.course-swatch{min-height:180px}.process-line,.value-grid,.outcome-grid,.review-grid{grid-template-columns:1fr}.story-quote{padding:32px}.cta-panel{padding:38px 26px}.service-row{grid-template-columns:40px 1fr;gap:16px;padding:30px 5px}.service-row-icon{grid-column:1}.service-row-copy{grid-column:2}.service-row-number{display:none}.service-row-action{grid-column:2;justify-items:start}.booking-card form{padding:22px}.booking-card-head{padding:17px;gap:10px}.booking-submit{align-items:stretch;flex-direction:column}.form-grid,.split-fields{grid-template-columns:1fr}.field-full{grid-column:auto}.catalog-controls{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.catalog-bar{top:68px}.academy-banner>.shell,.footer-bottom,.curriculum-heading,.academy-banner>.shell{align-items:flex-start;flex-direction:column}.course-detail-hero{padding-top:55px}.course-content-grid{gap:40px}.footer-grid{grid-template-columns:1fr}.site-footer{padding-top:40px}.auth-panel{padding:64px 24px 32px}.auth-brand{top:20px;left:20px;color:var(--color-text)}.auth-brand strong{color:var(--color-primary)}.auth-page{padding:var(--space-5) 0}.auth-page-card{padding:var(--space-5)}.app-content{padding:22px 14px 60px}.app-topbar{min-height:78px;padding:12px 16px}.app-topbar .user-pill span:last-child{display:none}.welcome-panel{align-items:flex-start;flex-direction:column;padding:28px}.stat-grid,.five-stats{grid-template-columns:1fr 1fr;gap:9px}.stat-grid article{padding:15px;gap:9px}.stat-icon{width:36px;height:36px}.stat-grid strong{font-size:1.15rem}.learning-card-grid,.studio-course-grid,.certificate-grid{grid-template-columns:1fr}.responsive-table{overflow-x:auto}.responsive-table table{min-width:720px}.curriculum-editor-head{align-items:flex-start;flex-direction:column}.curriculum-editor-head>div:last-child{flex-wrap:wrap}.builder-lesson{grid-template-columns:20px 32px 1fr}.builder-lesson form{grid-column:3}.management-list article{grid-template-columns:40px 1fr auto}.management-list .status{grid-column:2}.management-list>a{grid-column:3;grid-row:1}.booking-admin-list summary>div:last-child span{display:none}.booking-context dl{grid-template-columns:1fr}.lesson-canvas{padding:28px 20px}.lesson-actions{align-items:flex-start;flex-direction:column}.learning-actions span{display:none}.certificate-lookup h1{font-size:2.35rem}.certificate-lookup form>div{flex-direction:column}.verified-certificate{padding:24px;border-width:6px}.certificate-body{margin:45px auto}.certificate-body h2{font-size:2rem}.verified-certificate footer>div:not(.certificate-seal){min-width:0;font-size:.65rem}.certificate-actions{flex-direction:column}.page-hero{padding:64px 0 48px}.page-hero h1{font-size:3rem}.team-orbit{width:280px;height:280px}
}
@media print{
    .site-header,.site-footer,.certificate-lookup,.certificate-actions,.flash-stack,.no-print{display:none!important}.certificate-page{padding:0;background:#fff}.verified-certificate{min-height:95vh;box-shadow:none;page-break-inside:avoid}body{background:#fff}
}

/* Responsive Table Wrapper */
.table-responsive {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
