:root {
  --bg: #061522;
  --bg-2: #071c2c;
  --surface: #0a2132;
  --surface-2: #0d293d;
  --surface-soft: #0b2335;
  --text: #f6f9fc;
  --muted: #9fb0c0;
  --line: rgba(115, 190, 255, .19);
  --line-strong: rgba(37, 161, 255, .46);
  --blue: #0b96ff;
  --blue-2: #0874e5;
  --orange: #ff7a18;
  --yellow: #ffd34d;
  --shadow: 0 22px 60px rgba(0,0,0,.24);
  --header-bg: rgba(4, 17, 28, .86);
  --hero-text: #fff;
  --radius: 18px;
}

html[data-theme="light"] {
  --bg: #f4f7fa;
  --bg-2: #edf2f7;
  --surface: #ffffff;
  --surface-2: #f7fafc;
  --surface-soft: #eef5fb;
  --text: #0b1e2f;
  --muted: #66798a;
  --line: rgba(10, 65, 103, .12);
  --line-strong: rgba(7, 124, 212, .3);
  --shadow: 0 18px 48px rgba(19, 47, 67, .1);
  --header-bg: rgba(255, 255, 255, .97);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 10% 18%, rgba(10,150,255,.07), transparent 30%),
    radial-gradient(circle at 92% 54%, rgba(255,122,24,.045), transparent 22%),
    var(--bg);
  color: var(--text);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.55;
  transition: background-color .25s ease, color .25s ease;
}
body.modal-open { padding-right: 0 !important; }
[v-cloak] { display: none; }
a { color: inherit; }
a:hover { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button:focus, a:focus, input:focus, select:focus { outline: none; }
img { max-width: 100%; }
::selection { background: rgba(11,150,255,.32); }

.content-shell, .nav-shell { max-width: 1480px; margin: 0 auto; padding-left: 34px; padding-right: 34px; }
.section-space { padding: 84px 0; }
.section-space-sm { padding: 36px 0 60px; }
.section-soft { background: linear-gradient(180deg, transparent, rgba(13, 65, 100, .08) 30%, transparent); }
.section-edge { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }

.site-header {
  position: fixed; z-index: 1040; left: 0; top: 0; right: 0;
  background: linear-gradient(180deg, rgba(1, 11, 19, .86), rgba(1, 11, 19, .52));
  border-bottom: 1px solid transparent;
  transition: .25s ease;
}
html[data-theme="light"] .site-header {
  background: var(--header-bg);
  border-bottom-color: var(--line);
  backdrop-filter: blur(18px) saturate(135%);
  -webkit-backdrop-filter: blur(18px) saturate(135%);
}
.site-header.is-scrolled { background: var(--header-bg); border-bottom-color: var(--line); backdrop-filter: blur(18px); box-shadow: 0 8px 36px rgba(0,0,0,.08); }
.navbar { min-height: 78px; }
.brand-mark { display:inline-flex; align-items:center; flex:0 0 auto; min-width:0; }
.brand-logo { display:block; width:clamp(154px,12vw,188px); height:auto; object-fit:contain; }
.footer-brand { width:100%; }
.footer-brand .brand-logo { width:100%; max-width:210px; }
.navbar-brand, .navbar-light .navbar-nav .nav-link { color: var(--text); }
.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { color: var(--blue); }
.navbar-nav .nav-link { font-size: 13px; font-weight: 600; padding: 29px 15px !important; position: relative; }
.navbar-nav .nav-link:after { content:""; position:absolute; left: 15px; right: 15px; bottom: 19px; height: 2px; transform: scaleX(0); background: var(--blue); transition: .2s ease; }
.navbar-nav .nav-link:hover:after { transform: scaleX(1); }
.navbar-toggler { color: var(--text) !important; font-size: 28px; }
.header-search, .mobile-search { align-items: center; background: rgba(126,180,219,.09); border:1px solid var(--line); border-radius: 999px; height: 42px; padding: 0 15px; min-width: 310px; }
.header-search i, .mobile-search i { color: var(--blue); margin-right: 9px; }
.header-search input, .mobile-search input { border:0; background:transparent; width:100%; color:var(--text); font-size:12px; }
.header-search input::placeholder, .mobile-search input::placeholder { color: var(--muted); }
.header-actions { display:flex; align-items:center; gap:9px; }
.icon-btn { width:42px; height:42px; border-radius:12px; border:1px solid var(--line); background:rgba(118,178,220,.06); color:var(--text); display:grid; place-items:center; position:relative; transition:.2s ease; }
.icon-btn:hover { border-color:var(--line-strong); color:var(--blue); transform:translateY(-1px); }
.cart-badge { position:absolute; right:-5px; top:-5px; background:var(--orange); color:white; width:19px; height:19px; border-radius:50%; font-size:10px; display:grid; place-items:center; font-weight:800; }
.btn { border-radius: 10px; font-weight: 700; font-size: 13px; }
.btn-primary-brand { border:1px solid transparent; color:#fff !important; background:linear-gradient(135deg, #0aa3ff, #087be9); box-shadow:0 9px 22px rgba(8,126,233,.26); }
.btn-primary-brand:hover { transform:translateY(-1px); box-shadow:0 12px 28px rgba(8,126,233,.34); }
.btn-ghost-header { color:var(--text); border:1px solid var(--line-strong); padding:10px 18px; background:transparent; }
.btn-ghost-header:hover { color:var(--blue); border-color:var(--blue); }
.btn-outline-brand { border:1px solid var(--line-strong); color:var(--text); background:transparent; padding:12px 20px; }
.btn-outline-brand:hover { background:var(--blue); color:#fff; border-color:var(--blue); }
.btn-orange { background:var(--orange); color:white !important; padding:12px 22px; box-shadow:0 10px 28px rgba(255,122,24,.22); }

.hero-section { min-height: 650px; background:#03111c; color:var(--hero-text); }
.hero-slide { min-height: 650px; background-size:cover; background-position:center; position:relative; overflow:hidden; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(1,14,25,.97) 0%, rgba(1,20,34,.9) 38%, rgba(1,17,28,.3) 73%, rgba(1,15,25,.13) 100%); }
.hero-overlay:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 60%, rgba(4,20,32,.72)); }
.min-vh-hero { min-height:650px; padding-top:78px; }
.hero-content-wrap { position:relative; z-index:2; }
.eyebrow, .section-kicker { display:inline-block; color:#5bc2ff; letter-spacing:.18em; font-size:11px; font-weight:800; margin-bottom:13px; }
.hero-slide h1 { font-family:"Barlow Condensed",sans-serif; font-size:clamp(50px,6vw,84px); font-weight:800; line-height:.92; letter-spacing:-.02em; max-width:720px; margin:0 0 22px; }
.hero-slide h1 .accent { color:var(--blue); }
.hero-slide p { color:#d7e3ed; max-width:620px; font-size:18px; margin-bottom:28px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.btn-lg { padding:13px 22px; font-size:14px; }
.btn-hero-outline { color:white; border:1px solid rgba(122,199,255,.52); background:rgba(5,21,34,.42); }
.btn-hero-outline:hover { color:white; border-color:white; background:rgba(255,255,255,.08); }
.hero-trust { margin-top:38px; display:flex; flex-wrap:wrap; gap:31px; }
.hero-trust > div { display:flex; align-items:center; gap:10px; color:#dce9f3; font-size:11px; line-height:1.3; }
.hero-trust i { color:#27b0ff; font-size:24px; }
.carousel-indicators { bottom:20px; }
.carousel-indicators li { width:34px; height:3px; border:0; border-radius:10px; opacity:.4; }
.carousel-indicators .active { opacity:1; background-color:var(--blue); }
.hero-control { position:absolute; z-index:5; top:50%; transform:translateY(-50%); width:44px; height:44px; border:1px solid rgba(255,255,255,.14); border-radius:50%; background:rgba(4,17,29,.45); color:#fff; backdrop-filter:blur(8px); opacity:.55; transition:.2s; }
.hero-control:hover { opacity:1; background:rgba(4,17,29,.78); }
.hero-control-prev { left:18px; }.hero-control-next { right:18px; }

.categories-strip { background:rgba(8,29,44,.74); position:relative; z-index:4; }
html[data-theme="light"] .categories-strip { background:rgba(255,255,255,.93); }
.categories-nav { position:relative; display:flex; align-items:center; gap:10px; }
.categories-scroll { display:flex; flex:1 1 auto; min-width:0; gap:10px; overflow-x:auto; overflow-y:hidden; padding:16px 2px 13px; scroll-behavior:smooth; scroll-snap-type:x proximity; overscroll-behavior-inline:contain; scrollbar-width:thin; scrollbar-color:rgba(72,178,255,.65) rgba(255,255,255,.08); }
.categories-scroll::-webkit-scrollbar { height:5px; }
.categories-scroll::-webkit-scrollbar-track { background:rgba(255,255,255,.07); border-radius:999px; }
.categories-scroll::-webkit-scrollbar-thumb { background:linear-gradient(90deg,var(--blue),#69c6ff); border-radius:999px; }
.category-scroll-control { flex:0 0 38px; width:38px; height:38px; border-radius:50%; border:1px solid var(--line-strong); background:var(--surface); color:var(--text); display:grid; place-items:center; box-shadow:0 8px 22px rgba(0,0,0,.16); transition:.2s ease; z-index:2; }
.category-scroll-control:hover:not(:disabled) { color:#fff; border-color:var(--blue); background:var(--blue); transform:translateY(-1px); }
.category-scroll-control:disabled { opacity:.28; cursor:default; box-shadow:none; }
.category-chip { flex:0 0 96px; min-height:86px; scroll-snap-align:start; border-radius:14px; border:1px solid var(--line); background:linear-gradient(180deg, rgba(13,47,69,.7), rgba(8,29,44,.6)); color:var(--text); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; padding:8px; font-size:10px; font-weight:650; transition:.2s; }
html[data-theme="light"] .category-chip { background:var(--surface); }
.category-chip:hover, .category-chip.active { border-color:var(--blue); box-shadow:inset 0 0 0 1px rgba(11,150,255,.24), 0 9px 25px rgba(0,112,207,.11); transform:translateY(-2px); }
.category-chip.active { color:var(--blue); }
.category-icon { font-size:23px; color:#74c8ff; height:28px; }

.section-heading { margin-bottom:32px; gap:30px; }
.section-heading h2 { font-family:"Barlow Condensed",sans-serif; font-weight:800; font-size:clamp(34px,4vw,50px); line-height:1; margin:0 0 10px; letter-spacing:-.01em; }
.section-heading p { color:var(--muted); margin:0; max-width:690px; }
.compact-heading { margin-bottom:28px; }
.course-toolbar { display:flex; gap:10px; align-items:center; }
.search-field { width:320px; height:44px; border:1px solid var(--line); background:var(--surface); border-radius:12px; display:flex; align-items:center; padding:0 13px; box-shadow:var(--shadow); }
.search-field i { color:var(--blue); }.search-field input { border:0; background:transparent; color:var(--text); width:100%; font-size:12px; margin-left:8px; }.search-field button { border:0;background:none;color:var(--muted); }
.sort-select { width:190px; height:44px; border:1px solid var(--line); background-color:var(--surface); color:var(--text); border-radius:12px; font-size:12px; }
.active-filter-row { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:22px; color:var(--muted); font-size:12px; }
.filter-pill { border:1px solid var(--line-strong); color:var(--text); background:var(--surface); border-radius:999px; padding:6px 10px; }.clear-filters { border:0;background:none;color:var(--blue);font-weight:700; }
.course-grid { margin-left:-10px; margin-right:-10px; }.course-grid > [class*="col-"] { padding-left:10px; padding-right:10px; }
.course-card { border:1px solid var(--line); background:linear-gradient(180deg,var(--surface), rgba(9,33,49,.94)); border-radius:16px; overflow:hidden; box-shadow:0 13px 35px rgba(0,0,0,.1); display:flex; flex-direction:column; transition:.25s ease; }
.courses-section .course-card { cursor:pointer; }
html[data-theme="light"] .course-card { background:var(--surface); }
.course-card:hover { transform:translateY(-5px); border-color:var(--line-strong); box-shadow:var(--shadow); }
.course-thumb { aspect-ratio:16/9; overflow:hidden; position:relative; background:#07131d; cursor:pointer; }
.course-thumb img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }.course-card:hover .course-thumb img { transform:scale(1.045); }
.course-thumb:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 48%, rgba(3,18,29,.62)); pointer-events:none; }
.course-thumb-top { position:absolute; z-index:2; top:12px; left:12px; }.badge-free,.badge-off { display:inline-block; padding:5px 9px; border-radius:7px; font-size:9px; font-weight:800; letter-spacing:.03em; }.badge-free { background:#ffcf33;color:#12202b; }.badge-off { background:var(--orange);color:white; }
.preview-btn { position:absolute; z-index:3; right:12px; bottom:12px; width:39px; height:39px; border-radius:50%; border:1px solid rgba(255,255,255,.35); background:rgba(1,18,31,.72); color:white; display:grid;place-items:center; opacity:0; transform:translateY(5px); transition:.2s; }.course-card:hover .preview-btn { opacity:1; transform:none; }
.course-card-body { padding:18px 18px 12px; flex:1; }
.course-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#55bfff; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; margin-bottom:9px; }.course-meta span:last-child { color:var(--muted); font-weight:600; text-transform:none; letter-spacing:0; }
.course-card h3 { font-family:"Barlow Condensed",sans-serif; font-size:23px; line-height:1.04; font-weight:700; min-height:48px; margin:0 0 12px; }
.course-benefits { display:flex; gap:13px; flex-wrap:wrap; color:var(--muted); font-size:10px; margin-bottom:17px; }.course-benefits i { color:var(--blue); }
.course-price-row { display:flex; justify-content:space-between; align-items:end; gap:12px; padding-top:12px; border-top:1px solid var(--line); }.course-price-row small { color:var(--muted); text-decoration:line-through; display:block; font-size:9px; }.course-price-row strong { font-family:"Barlow Condensed"; color:var(--orange); font-size:26px; line-height:1; }.course-price-row strong:first-letter { text-transform:uppercase; }
.btn-link-card { border:0;background:transparent;color:var(--blue);font-size:11px;font-weight:800;padding:0;white-space:nowrap; }
.course-card-footer { padding:0 18px 18px; }.course-card-footer .btn { height:42px; }
.empty-state { text-align:center; padding:60px 20px; border:1px dashed var(--line-strong); border-radius:18px; background:var(--surface); }.empty-state i { font-size:44px;color:var(--blue); }.empty-state h3 { margin-top:14px; }

.feature-card { border:1px solid var(--line); border-radius:16px; background:var(--surface); padding:28px; display:flex; gap:18px; align-items:flex-start; box-shadow:0 12px 30px rgba(0,0,0,.06); }
.feature-icon { flex:0 0 54px; height:54px; border-radius:14px; background:rgba(11,150,255,.09); border:1px solid rgba(11,150,255,.28); color:#58c0ff; display:grid;place-items:center;font-size:26px; }.feature-card h3 { font-family:"Barlow Condensed";font-size:23px;margin:0 0 5px; }.feature-card p { color:var(--muted);font-size:12px;margin:0; }

.pro-section { padding-top:20px; }
.pro-banner { min-height:150px; border:1px solid rgba(21,162,255,.42); border-radius:16px; overflow:hidden; padding:28px 34px; display:flex; align-items:center; gap:32px; background:linear-gradient(90deg, rgba(0,18,31,.98), rgba(3,45,68,.92)), url('../img/hero/hero-02.webp') center/cover; color:white; box-shadow:var(--shadow); }
.pro-copy { display:flex; align-items:center; gap:13px; min-width:360px; }.pro-copy .pro-label { font-family:"Barlow Condensed";font-size:36px;font-weight:800;font-style:italic; }.pro-copy strong { font-family:"Barlow Condensed";font-size:54px;font-style:italic;color:var(--orange);line-height:1; }.pro-divider { height:54px;width:1px;background:rgba(255,255,255,.24); }.pro-copy div { display:flex;flex-direction:column;font-size:10px;color:#72c7ff;letter-spacing:.08em; }.pro-copy div b { color:white; }
.pro-benefits { display:flex; flex:1; justify-content:center; gap:23px; flex-wrap:wrap; font-size:11px; }.pro-benefits i { color:#53c2ff;margin-right:6px; }

.platform-video-section { position:relative; overflow:hidden; padding-top:58px; }
.platform-video-section::before { content:""; position:absolute; width:560px; height:560px; right:-240px; top:0; border-radius:50%; background:radial-gradient(circle,rgba(11,150,255,.13),transparent 68%); pointer-events:none; }
.platform-video-shell { position:relative; isolation:isolate; display:grid; grid-template-columns:minmax(300px,.78fr) minmax(520px,1.22fr); align-items:center; gap:clamp(35px,5vw,78px); padding:clamp(30px,4.5vw,68px); border:1px solid var(--line); border-radius:26px; overflow:hidden; background:linear-gradient(135deg,rgba(11,150,255,.075),transparent 38%),var(--surface); box-shadow:0 30px 80px rgba(0,0,0,.18); }
.platform-video-shell::before { content:""; position:absolute; z-index:-1; inset:0 auto 0 0; width:5px; background:linear-gradient(180deg,var(--blue),#63c7ff 55%,var(--orange)); }
html[data-theme="light"] .platform-video-shell { background:linear-gradient(135deg,rgba(11,150,255,.055),transparent 42%),#fff; box-shadow:0 28px 70px rgba(23,58,82,.11); }
.platform-video-copy { max-width:535px; }
.platform-video-copy h2 { margin:0 0 18px; color:var(--text); font-family:"Barlow Condensed",sans-serif; font-size:clamp(39px,4.2vw,58px); font-weight:800; line-height:.98; letter-spacing:-.015em; }
.platform-video-copy > p { margin:0; color:var(--muted); font-size:14px; line-height:1.75; }
.platform-video-highlights { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:28px 0; }
.platform-video-highlights span { display:flex; flex-direction:column; justify-content:center; gap:8px; min-height:82px; padding:13px; border:1px solid var(--line); border-radius:13px; background:rgba(11,150,255,.045); color:var(--text); font-size:10px; font-weight:700; line-height:1.3; }
.platform-video-highlights i { color:#58c1ff; font-size:20px; }
.platform-video-cta { display:inline-flex; align-items:center; gap:10px; padding:13px 21px; }
.platform-video-cta i { transition:transform .2s ease; }
.platform-video-cta:hover i { transform:translateX(3px); }
.platform-video-stage { position:relative; padding:10px; border:1px solid rgba(106,194,255,.27); border-radius:20px; background:linear-gradient(145deg,rgba(15,50,73,.98),rgba(4,20,32,.98)); box-shadow:0 24px 55px rgba(0,0,0,.3),0 0 0 8px rgba(11,150,255,.035); }
.platform-video-stage::after { content:""; position:absolute; z-index:-1; inset:12% -5% -8% 16%; border-radius:24px; background:linear-gradient(135deg,rgba(11,150,255,.26),rgba(255,122,24,.12)); filter:blur(28px); opacity:.55; }
.platform-video-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; height:38px; padding:0 8px 0 5px; color:#9fb9cc; font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.platform-video-dots { display:flex; gap:6px; }
.platform-video-dots i { display:block; width:7px; height:7px; border-radius:50%; background:#294a62; }
.platform-video-dots i:first-child { background:var(--orange); }.platform-video-dots i:nth-child(2) { background:#ffc548; }.platform-video-dots i:last-child { background:#26b77a; }
.platform-video-label { display:flex; align-items:center; gap:6px; }.platform-video-label i { color:#54beff; font-size:12px; }.platform-video-label b { color:#6f8ca1; font-weight:700; }
.platform-video-ratio { position:relative; aspect-ratio:16/9; overflow:hidden; border:1px solid rgba(255,255,255,.08); border-radius:13px; background:#020b12; }
.platform-video-ratio iframe { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; }

.testimonial-card { border:1px solid var(--line); background:var(--surface); border-radius:16px; padding:25px; box-shadow:0 12px 30px rgba(0,0,0,.06); }.testimonial-head { display:flex;gap:13px;align-items:center;margin-bottom:18px; }.avatar { width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,#183d58,#0b6aa7);color:white;display:grid;place-items:center;font-weight:700;font-size:17px; }.testimonial-card h3 { font-size:12px;margin:0 0 3px; }.stars { color:#ffc928;font-size:11px;letter-spacing:1px; }.testimonial-card blockquote { font-size:15px;line-height:1.5;margin:0 0 18px; }.testimonial-card small { color:var(--muted);font-size:10px; }
.testimonial-nav { gap:8px; }.testimonial-nav button { width:42px;height:42px;border-radius:11px;border:1px solid var(--line);background:var(--surface);color:var(--text); }.testimonial-nav button:hover { border-color:var(--blue);color:var(--blue); }

.partners-section { border-top:1px solid var(--line);border-bottom:1px solid var(--line); }.partners-wrap { min-height:108px;display:flex;align-items:center;gap:35px; }.partners-title { font-family:"Barlow Condensed";font-size:25px;font-weight:700;white-space:nowrap; }.partner-logos { flex:1;display:flex;align-items:center;justify-content:space-around;gap:26px;flex-wrap:wrap;color:#91abc0; }.partner-logos span { font-family:"Barlow Condensed";font-weight:800;font-size:23px;letter-spacing:.03em; }.partners-wrap small { color:var(--muted);font-size:9px;letter-spacing:.08em; }
.newsletter-card { border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:22px 28px;display:flex;align-items:center;gap:20px; }.newsletter-icon { width:54px;height:54px;border-radius:14px;background:rgba(11,150,255,.1);color:#55c2ff;display:grid;place-items:center;font-size:29px; }.newsletter-copy { min-width:305px; }.newsletter-copy h3 { font-family:"Barlow Condensed";font-size:25px;margin:0; }.newsletter-copy p { color:var(--muted);font-size:11px;margin:2px 0 0; }.newsletter-form { flex:1;display:flex;gap:9px; }.newsletter-form input { height:44px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);border-radius:10px;padding:0 14px;flex:1;min-width:0; }.newsletter-signature { font-size:9px;font-weight:800;line-height:1.35;letter-spacing:.03em;white-space:nowrap; }.newsletter-signature span { color:#2a85bb;font-size:25px;margin-right:8px; }

.site-footer { border-top:1px solid var(--line); padding:44px 0 18px; background:rgba(2,15,24,.28); }.footer-main h4 { font-size:12px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:14px; }.footer-main ul { list-style:none;padding:0;margin:0;columns:1; }.footer-main li { margin-bottom:5px; }.footer-main a,.footer-main p { color:var(--muted);font-size:10px; }.footer-main a:hover { color:var(--blue); }.footer-brand { color:var(--text); }.footer-slogan { margin-top:15px;max-width:130px;text-transform:uppercase;font-size:8px !important;letter-spacing:.06em; }.social-links { display:flex;gap:8px;margin-top:15px; }.social-links a { width:32px;height:32px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;font-size:14px; }.contact-list li { display:flex;gap:9px;margin-bottom:12px;color:var(--muted);font-size:10px; }.contact-list i { color:var(--blue); }.footer-links-inline { display:flex;gap:12px;margin-top:16px; }.footer-bottom { border-top:1px solid var(--line);padding-top:16px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:9px; }
html[data-theme="light"] .site-footer { border-top-color:rgba(8,91,151,.16); background:radial-gradient(circle at 12% 20%,rgba(11,150,255,.07),transparent 25%),linear-gradient(180deg,#fff,#f5f9fc); box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 -16px 44px rgba(22,64,92,.05); }
html[data-theme="light"] .site-footer .footer-main h4 { color:#10283b; font-weight:800; }
html[data-theme="light"] .site-footer .footer-main a,html[data-theme="light"] .site-footer .footer-main p,html[data-theme="light"] .site-footer .contact-list { color:#5d7283; }
html[data-theme="light"] .site-footer .footer-main a:hover { color:var(--blue); }
html[data-theme="light"] .site-footer .social-links a { border-color:rgba(8,91,151,.17); color:#39708f; background:rgba(255,255,255,.72); box-shadow:0 5px 14px rgba(25,75,108,.06); }
html[data-theme="light"] .site-footer .social-links a:hover { border-color:var(--blue); color:#fff; background:var(--blue); }
html[data-theme="light"] .site-footer .footer-links-inline a { font-weight:650; }
html[data-theme="light"] .site-footer .footer-bottom { border-top-color:rgba(8,91,151,.13); color:#6b7f8f; }

.custom-modal { background:var(--surface); color:var(--text); border:1px solid var(--line); border-radius:18px; box-shadow:0 30px 80px rgba(0,0,0,.35); overflow:hidden; }.modal-content { background:var(--surface); }.modal-close { position:absolute;z-index:4;right:13px;top:13px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(4,18,30,.7);color:white;display:grid;place-items:center; }.modal-course-visual { min-height:470px;background:#06111a; }.modal-course-visual img { width:100%;height:100%;object-fit:cover; }.modal-course-body { padding:48px 42px;display:flex;flex-direction:column;justify-content:center; }.modal-course-body h2,.modal-pad h2 { font-family:"Barlow Condensed";font-size:40px;font-weight:800;line-height:1;margin-bottom:17px; }.modal-course-body p,.modal-pad p { color:var(--muted); }.modal-feature-list { display:grid;gap:9px;margin:18px 0; }.modal-feature-list i { color:var(--blue);margin-right:8px; }.modal-price { margin:15px 0 22px; }.modal-price small { display:block;color:var(--muted);text-decoration:line-through; }.modal-price strong { font-family:"Barlow Condensed";font-size:36px;color:var(--orange); }.modal-pad { padding:44px; }.custom-input { height:48px;border:1px solid var(--line);background:var(--bg-2);color:var(--text);border-radius:10px; }.custom-input:focus { background:var(--bg-2);color:var(--text);border-color:var(--blue);box-shadow:0 0 0 .2rem rgba(11,150,255,.12); }

/* Alertas e confirmações globais do portal */
.bootbox.modal { padding-right:0 !important; }
.bootbox .modal-dialog { width:calc(100% - 32px); max-width:480px; margin:clamp(76px,14vh,145px) auto 30px; }
.bootbox .modal-content { position:relative; overflow:hidden; border:1px solid var(--line-strong) !important; border-radius:20px !important; background:linear-gradient(145deg,rgba(11,150,255,.06),transparent 42%),var(--surface) !important; color:var(--text) !important; box-shadow:0 28px 80px rgba(0,0,0,.42) !important; }
.bootbox .modal-content::before { content:""; position:absolute; z-index:1; top:0; left:24px; right:24px; height:2px; background:linear-gradient(90deg,transparent,var(--blue),transparent); }
.bootbox .modal-header { min-height:0; display:flex; align-items:center; gap:13px; padding:24px 25px 17px !important; border:0 !important; background:transparent !important; }
.bootbox .modal-header::before { content:"!"; flex:0 0 40px; width:40px; height:40px; display:grid; place-items:center; border:1px solid rgba(11,150,255,.38); border-radius:12px; color:#67c6ff; background:rgba(11,150,255,.11); box-shadow:inset 0 0 18px rgba(11,150,255,.08); font-family:Inter,sans-serif; font-size:20px; font-weight:800; }
.bootbox .modal-title { margin:0 !important; color:var(--text) !important; font-family:"Barlow Condensed",sans-serif !important; font-size:27px !important; font-weight:750 !important; line-height:1 !important; }
.bootbox .modal-header .close { position:absolute; top:16px; right:17px; width:34px; height:34px; display:grid; place-items:center; margin:0 !important; padding:0 !important; border:1px solid var(--line) !important; border-radius:10px; color:var(--muted) !important; background:var(--surface-2) !important; font-size:22px; line-height:1; opacity:1 !important; text-shadow:none !important; transition:.2s ease; }
.bootbox .modal-header .close:hover { border-color:var(--line-strong) !important; color:var(--blue) !important; }
.bootbox .modal-body { min-height:0; padding:7px 25px 22px !important; color:var(--muted) !important; background:transparent !important; font-size:14px; line-height:1.65; }
.bootbox .modal-body .bootbox-body { color:inherit; }
.bootbox .modal-footer { display:flex; justify-content:flex-end; gap:9px; padding:0 25px 24px !important; border:0 !important; background:transparent !important; }
.bootbox .modal-footer .btn { min-width:105px; min-height:43px; margin:0 !important; padding:10px 20px; border:1px solid var(--line) !important; border-radius:11px !important; color:var(--text) !important; background:var(--surface-2) !important; box-shadow:none !important; font-size:12px; font-weight:800; transition:transform .2s ease,filter .2s ease,box-shadow .2s ease; }
.bootbox .modal-footer .btn-primary,.bootbox .modal-footer .btn-danger,.bootbox .modal-footer .btn-success { border-color:transparent !important; color:#fff !important; background:linear-gradient(135deg,#0aa3ff,#087be9) !important; box-shadow:0 9px 22px rgba(8,126,233,.25) !important; }
.bootbox .modal-footer .btn:hover { transform:translateY(-1px); filter:brightness(1.08); }
.bootbox + .modal-backdrop,.modal-backdrop.show { background:#010b13; opacity:.72; backdrop-filter:blur(5px); -webkit-backdrop-filter:blur(5px); }
html[data-theme="light"] .bootbox .modal-content { background:linear-gradient(145deg,rgba(11,150,255,.06),transparent 42%),#fff !important; box-shadow:0 28px 70px rgba(18,48,70,.24) !important; }
html[data-theme="light"] .bootbox .modal-body { color:var(--muted) !important; }
@media (max-width:520px) { .bootbox .modal-dialog { width:calc(100% - 24px); margin:78px auto 24px; } .bootbox .modal-header { padding:21px 20px 15px !important; } .bootbox .modal-header::before { flex-basis:36px; width:36px; height:36px; } .bootbox .modal-title { font-size:24px !important; } .bootbox .modal-body { padding:6px 20px 20px !important; font-size:13px; } .bootbox .modal-footer { padding:0 20px 20px !important; } .bootbox .modal-footer .btn { width:100%; } }
.cart-list { display:grid;gap:12px;margin-top:20px; }.cart-item { display:grid;grid-template-columns:74px 1fr auto 35px;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:9px; }.cart-item img { width:74px;height:52px;border-radius:8px;object-fit:cover; }.cart-item strong { display:block;font-size:12px; }.cart-item small { color:var(--muted); }.cart-item > span { color:var(--orange);font-weight:800; }.cart-item button { border:0;background:none;color:var(--muted); }.cart-total { display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin-top:7px; }.cart-total strong { font-family:"Barlow Condensed";font-size:30px;color:var(--orange); }.empty-cart { text-align:center;padding:25px 0 5px; }.empty-cart > i { font-size:48px;color:var(--blue);display:block;margin-bottom:14px; }
.cart-added-message { display:flex;align-items:center;gap:11px;margin-top:18px;padding:13px 15px;border:1px solid rgba(31,190,126,.34);border-radius:11px;background:rgba(31,190,126,.10);color:var(--text);font-size:13px;font-weight:700; }.cart-added-message i { flex:0 0 auto;color:#31be7e;font-size:20px; }
.toast-stack { position:fixed;right:24px;bottom:24px;z-index:2000; }.app-toast { min-width:270px;max-width:420px;padding:14px 17px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);box-shadow:var(--shadow);display:flex;align-items:center;gap:11px;transform:translateY(30px);opacity:0;pointer-events:none;transition:.25s ease; }.app-toast.show { opacity:1;transform:none; }.app-toast i { color:var(--blue);font-size:20px; }
.back-top { position:fixed;z-index:1000;right:24px;bottom:88px;width:42px;height:42px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:var(--shadow); }

@media (max-width:1199.98px) {
  .site-header { background:var(--header-bg);backdrop-filter:blur(16px); }
  .navbar-collapse { padding:0 0 18px; }.navbar-nav .nav-link { padding:10px 0 !important; }.navbar-nav .nav-link:after { display:none; }.header-actions { flex-wrap:wrap;margin-top:12px; }.mobile-search { display:flex !important;min-width:0;width:100%; }
  .pro-banner { flex-wrap:wrap; }.pro-benefits { justify-content:flex-start; }.newsletter-card { flex-wrap:wrap; }.newsletter-form { min-width:100%;order:4; }.newsletter-signature { margin-left:auto; }
}
@media (max-width:991.98px) {
  .content-shell,.nav-shell { padding-left:22px;padding-right:22px; }.section-space { padding:68px 0; }.hero-slide,.min-vh-hero { min-height:620px; }.hero-overlay { background:linear-gradient(90deg,rgba(1,14,25,.96),rgba(1,18,30,.78)); }.hero-slide h1 { max-width:620px; }.course-toolbar { width:100%; }.search-field { flex:1;width:auto; }.pro-copy { min-width:0; }.platform-video-shell { grid-template-columns:1fr;gap:38px; }.platform-video-copy { max-width:680px; }.partners-wrap { flex-direction:column;align-items:flex-start;padding:26px 0;gap:20px; }.partner-logos { width:100%;justify-content:flex-start; }.partners-wrap small { display:none; }.footer-main ul { columns:2; }.modal-course-visual { min-height:300px; }.modal-course-body { padding:34px; }
}
@media (max-width:767.98px) {
  .content-shell,.nav-shell { padding-left:16px;padding-right:16px; }.navbar { min-height:70px; }.brand-main { font-size:25px; }.hero-slide,.min-vh-hero { min-height:690px; }.hero-slide { background-position:62% center; }.hero-overlay { background:linear-gradient(90deg,rgba(1,14,25,.97),rgba(1,16,28,.81)),linear-gradient(0deg,rgba(1,14,25,.72),transparent); }.hero-slide h1 { font-size:53px; }.hero-slide p { font-size:15px;max-width:92%; }.hero-trust { gap:17px; }.hero-trust > div { width:calc(50% - 10px); }.hero-control { display:none; }.categories-scroll { margin-right:-16px; }.section-heading { margin-bottom:24px; }.course-toolbar { flex-direction:column;align-items:stretch; }.search-field,.sort-select { width:100%; }.course-card h3 { min-height:0; }.pro-banner { padding:25px 20px; }.pro-copy { flex-wrap:wrap; }.pro-copy .pro-label { font-size:30px; }.pro-copy strong { font-size:44px; }.pro-divider { display:none; }.pro-copy div { width:100%; }.pro-benefits { gap:12px 18px; }.platform-video-section { padding-top:40px; }.platform-video-shell { padding:27px 20px 22px;border-radius:20px;gap:30px; }.platform-video-copy h2 { font-size:41px; }.platform-video-highlights { grid-template-columns:1fr;gap:8px;margin:23px 0; }.platform-video-highlights span { min-height:58px;flex-direction:row;align-items:center;justify-content:flex-start; }.platform-video-stage { padding:7px;border-radius:15px; }.platform-video-toolbar { height:34px; }.platform-video-label b { display:none; }.platform-video-ratio { border-radius:10px; }.newsletter-card { padding:20px; }.newsletter-copy { min-width:0; }.newsletter-signature { display:none; }.newsletter-form { flex-direction:column; }.footer-main ul { columns:1; }.footer-bottom { flex-direction:column; }.modal-dialog { margin:10px; }.modal-course-body,.modal-pad { padding:32px 22px; }.modal-course-body h2,.modal-pad h2 { font-size:34px; }.cart-item { grid-template-columns:60px 1fr 30px; }.cart-item img { width:60px;height:45px; }.cart-item > span { grid-column:2; }.cart-item button { grid-column:3;grid-row:1 / span 2; }.toast-stack { left:14px;right:14px;bottom:15px; }.app-toast { min-width:0;max-width:none; }
}
@media (max-width:430px) {
  .header-actions .btn-primary-brand,.header-actions .btn-ghost-header { flex:1; }.hero-actions .btn { width:100%; }.hero-trust > div { width:100%; }.category-chip { flex-basis:88px; }.section-heading h2 { font-size:38px; }.course-card h3 { font-size:22px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important;transition-duration:.01ms !important;animation-duration:.01ms !important; }
}

@media (max-width: 767.98px) {
  .categories-nav { gap:6px; }
  .category-scroll-control { flex-basis:34px; width:34px; height:34px; }
  .categories-scroll { padding-top:14px; padding-bottom:11px; }
}
