/* ==============================================================================
   PROTOS ROOT ENGINE — ELIMINATE EXTRA SCROLLBARS ON HERO & PAGE CONTAINERS
   ============================================================================== */
html {
  overflow-x: hidden !important;
  overflow-y: scroll !important;
  scrollbar-gutter: stable;
}
body,
body.protos-content-page,
body.protos-content-page #wrapper,
body.protos-content-page #main,
.protos-full-page,
#protos-app,
#protos-main {
  overflow-x: visible !important;
  overflow-y: visible !important;
  max-height: none !important;
}
.px-section,
#hero,
.px-device-stage,
.px-hardware-shell {
  overflow-x: clip !important;
  overflow-y: visible !important;
}
.px-laptop-screen,
.px-mockup-canvas,
.px-screen-viewport,
.px-laptop-ui-canvas {
  overflow-y: hidden !important;
}

/* PROTOS Executive Design System — Clean White with Corporate Blue ("Nền Trắng Tone Xanh") */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  --px-bg-light: #ffffff;
  --px-bg-soft: #f8fafc;
  --px-card-light: #ffffff;
  --px-card-elevated: #ffffff;
  --px-border-light: #e2e8f0;
  --px-border-hover: #93c5fd;
  --px-brand-navy: #01234e;
  --px-brand-blue: #0073fc;
  --px-brand-blue-hover: #0056cc;
  --px-blue: #0073fc;
  --px-blue-hover: #0056cc;
  --px-cyan: #0284c7;
  --px-emerald: #10b981;
  --px-text-primary: #0f172a;
  --px-text-secondary: #475569;
  --px-text-muted: #64748b;
  --px-glow: rgba(0, 115, 252, 0.12);
}

.protos-site.protos-v2 {
  --paper: #ffffff;
  --navy: #01234e;
  --blue: #0073fc;
  --lime: #10b981;
  --sage: #f8fafc;
  --muted: #64748b;
  --ink: #0f172a;
  --line: #e2e8f0;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #0f172a !important;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  --px: 0px;
  --py: 0px;
}

.protos-site.protos-v2 .p-wrap,
.protos-site.protos-v2 .v-container {width:min(1320px,calc(100% - 96px));margin:auto}

.protos-site.protos-v2 .v-section {padding:85px 0}

.protos-site.protos-v2 .v-label {font-size:10px;font-weight:700;letter-spacing:1.5px;display:flex;align-items:center;gap:10px;line-height:1.6;margin-bottom:20px}

.protos-site.protos-v2 .v-label>span {width:7px;height:7px;background:var(--blue);display:block}

.protos-site.protos-v2 .v-section h2 {font-size:clamp(24px,2.6vw,38px);line-height:1.15;letter-spacing:-.03em}

.protos-site.protos-v2 .v-section h2 em {font-style:normal;font-weight:400}

.protos-site.protos-v2 .v-section p {line-height:1.65;font-size:14px}

.protos-site.protos-v2 .v-btn {display:inline-flex;justify-content:center;align-items:center;gap:16px;background:var(--blue);border:1px solid var(--blue);color:#fff;padding:11px 20px;min-height:46px;font-size:13.5px;font-weight:700;line-height:1.4;transition:transform .25s,background .25s,box-shadow .25s}

.protos-site.protos-v2 .v-btn:hover {transform:translateY(-2px);box-shadow:0 8px 24px rgba(37,99,235,0.35)}

.protos-site.protos-v2 .v-btn>span {font-size:16px;transition:transform .25s}

.protos-site.protos-v2 .v-btn:hover>span {transform:translate(2px,-2px)}

.protos-site.protos-v2 .v-btn.outline {background:transparent;color:#f8fafc;border-color:rgba(255,255,255,0.2)}

.protos-site.protos-v2 .v-btn.dark {background:#0d1117;border-color:rgba(255,255,255,0.12)}

.protos-site.protos-v2 .v-btn.lime {background:#10b981;color:#ffffff;border-color:#10b981}

.protos-site.protos-v2 .v-btn.white-outline {background:transparent;color:white;border-color:#ffffff80}

.protos-site.protos-v2 .v-actions {display:flex;gap:12px;flex-wrap:wrap}

.protos-site.protos-v2 .v-text-link {display:inline-block;color:#60a5fa;font-size:14px;font-weight:700;border:0;background:transparent;border-bottom:1px solid currentColor;padding:5px 0;text-align:left}

.protos-site.protos-v2 .v-heading-row {display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:50px}

.protos-site.protos-v2 .v-heading-row>p,
.protos-site.protos-v2 .v-heading-row>div:last-child:not(:first-child) {max-width:340px}

.protos-site.protos-v2 .v-heading-row .v-text-link {margin-top:20px}

.protos-site.protos-v2 .v-caption {font-size:11px;line-height:1.6;margin-top:23px;color:var(--muted)}

/* PROTOS Executive Header — Clean White Background with Blue Accents ("Nền Trắng Tone Xanh") */
.protos-site.protos-v2 .v-header,
.protos-site.protos-v2 .p-header {
  position:sticky; top:0; height:70px;
  background:rgba(255, 255, 255, 0.94) !important;
  backdrop-filter:blur(20px) !important;
  -webkit-backdrop-filter:blur(20px) !important;
  border-bottom:1px solid #e2e8f0 !important;
  box-shadow:0 4px 20px -2px rgba(15, 23, 42, 0.04) !important;
  transition:height .3s,box-shadow .3s; z-index:1000;
}

.protos-site.protos-v2 .v-header.scrolled {
  height:62px;
  box-shadow:0 10px 25px -4px rgba(15, 23, 42, 0.08) !important;
  background:rgba(255, 255, 255, 0.98) !important;
  border-bottom:1px solid #cbd5e1 !important;
}

.protos-site.protos-v2 .v-header .p-logo {
  font-size:20px; font-weight:800; letter-spacing:-0.03em;
  color:#0f172a !important; text-decoration:none;
  display:inline-flex; align-items:center; gap:8px;
}
.protos-site.protos-v2 .v-header .p-logo img,
.protos-site.protos-v2 .p-header .p-logo img,
.ps-header-logo-img {
  height: 38px;
  width: auto;
  max-width: 145px;
  object-fit: contain;
  display: block;
}

.protos-site.protos-v2 .v-brand-symbol {
  display:grid; place-items:center; width:28px; height:28px;
  border-radius:8px;
  background:linear-gradient(135deg, #185ee0 0%, #0052cc 100%);
  color:white; font-size:16px; font-weight:800; line-height:1;
  box-shadow:0 0 16px rgba(24, 94, 224, 0.4);
}

.protos-site.protos-v2 .v-brand-dot {color:#185ee0}

.protos-site.protos-v2 .v-header .p-mainnav {
  display:flex; align-items:center; gap:8px;
}

.protos-site.protos-v2 .ps-nav-menu {
  display:flex; align-items:center; gap:4px;
  list-style:none; margin:0; padding:0;
}

.protos-site.protos-v2 .ps-menu-item {
  position:relative;
}

.protos-site.protos-v2 .ps-menu-item > a {
  color:#334155; font-size:13px; font-weight:600;
  padding:7px 11px; border-radius:7px;
  transition:all 0.2s ease; text-decoration:none; white-space:nowrap;
  display:inline-flex; align-items:center; gap:4px;
}

.protos-site.protos-v2 .ps-menu-item > a:hover,
.protos-site.protos-v2 .ps-menu-item.current-menu-item > a {
  color:#185ee0; background:#eff6ff;
}

.protos-site.protos-v2 .ps-submenu-toggle {
  background:transparent; border:0; color:#64748b;
  padding:4px; cursor:pointer; display:inline-flex; align-items:center;
}

.protos-site.protos-v2 .ps-submenu,
.protos-site.protos-v2 .sub-menu {
  position:absolute; top:calc(100% + 8px); left:0;
  background:rgba(255, 255, 255, 0.98) !important;
  backdrop-filter:blur(24px) !important;
  -webkit-backdrop-filter:blur(24px) !important;
  border:1px solid #e2e8f0 !important;
  border-radius:12px !important;
  box-shadow:0 20px 45px rgba(15, 23, 42, 0.12) !important;
  padding:8px !important; min-width:220px; list-style:none;
  opacity:0; visibility:hidden; transform:translateY(8px);
  transition:all 0.2s ease; z-index:100;
}

.protos-site.protos-v2 .ps-menu-item:hover > .ps-submenu,
.protos-site.protos-v2 .ps-menu-item:focus-within > .ps-submenu,
.protos-site.protos-v2 .ps-menu-item.is-open > .ps-submenu {
  opacity:1; visibility:visible; transform:translateY(0);
}

.protos-site.protos-v2 .ps-submenu .ps-menu-item > a {
  color:#334155; font-size:13px; font-weight:600;
  padding:8px 12px; border-radius:8px; display:block;
  transition:all 0.18s;
}

.protos-site.protos-v2 .ps-submenu .ps-menu-item > a:hover {
  color:#185ee0; background:#eff6ff;
  transform:translateX(3px);
}

.protos-site.protos-v2 .v-header .p-iconbutton {
  width:36px; height:36px; border-radius:9px;
  background:#f1f5f9;
  border:1px solid #e2e8f0;
  color:#475569; display:inline-flex; align-items:center; justify-content:center;
  transition:all 0.2s; position:relative;
}

.protos-site.protos-v2 .v-header .p-iconbutton:hover {
  background:#e2e8f0;
  border-color:#cbd5e1; color:#185ee0;
}

.protos-site.protos-v2 .p-badgecount {
  position:absolute; top:-4px; right:-4px;
  background:#185ee0; color:#fff; font-size:10px; font-weight:700;
  width:17px; height:17px; border-radius:50%;
  display:grid; place-items:center; border:2px solid #ffffff;
}

.protos-site.protos-v2 .v-header .p-header-actions {
  display:flex; align-items:center; gap:8px; margin-left:auto;
}

.protos-site.protos-v2 .ps-language-switcher {
  display:flex; border:1px solid #cbd5e1;
  border-radius:20px; padding:2px; background:#f1f5f9;
}

.protos-site.protos-v2 .ps-language-switcher ul {
  display:flex; margin:0; padding:0; list-style:none;
}

.protos-site.protos-v2 .ps-language-link {
  font-size:11px; font-weight:600; padding:4px 9px;
  border-radius:16px; color:#64748b; transition:all 0.2s; text-decoration:none;
}

.protos-site.protos-v2 .ps-language-link.is-active {
  background:#185ee0; color:#fff;
}

.protos-site.protos-v2 .ps-login-button {
  font-size:12.5px; font-weight:700; padding:6px 14px;
  border-radius:20px; background:#ffffff;
  border:1px solid #cbd5e1; color:#0f172a;
  box-shadow:0 1px 3px rgba(0,0,0,0.05);
  transition:all 0.2s; text-decoration:none; white-space:nowrap;
}

.protos-site.protos-v2 .ps-login-button:hover {
  background:#eff6ff; color:#185ee0; border-color:#185ee0;
}

.protos-site.protos-v2 .ps-quote-button {
  display:inline-flex; align-items:center; gap:7px;
  min-height:36px; padding:7px 16px; border-radius:999px;
  background:linear-gradient(135deg, #185ee0 0%, #0052cc 100%);
  color:#ffffff !important; font-size:12.5px; font-weight:700;
  text-decoration:none !important; border:1px solid rgba(255,255,255,0.22);
  box-shadow:0 4px 16px rgba(24,94,224,0.35); transition:all .2s ease;
  white-space:nowrap;
}

.protos-site.protos-v2 .ps-quote-button:hover {
  background:linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
  transform:translateY(-1px); box-shadow:0 6px 20px rgba(24,94,224,0.5);
  color:#ffffff !important;
}

@media (max-width: 640px) {
  .protos-site.protos-v2 .ps-quote-button { display:none; }
}

.protos-site.protos-v2 .v-scroll-progress {position:fixed;top:0;left:0;width:100%;height:3px;z-index:90;pointer-events:none}

.protos-site.protos-v2 .v-scroll-progress span {display:block;width:100%;height:100%;background:var(--blue);transform-origin:0 50%;transform:scaleX(0)}

.protos-site.protos-v2 .v-hero {padding:20px 0 40px;overflow:hidden;position:relative;background:var(--paper)}

.protos-site.protos-v2 .v-hero-top {display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #10254024;padding-bottom:16px}

.protos-site.protos-v2 .v-hero-top .v-label {margin:0;color:var(--navy)}

.protos-site.protos-v2 .v-edition {font-size:9px;letter-spacing:1.4px;color:var(--muted)}

.protos-site.protos-v2 .v-hero-layout {display:grid;grid-template-columns:1.14fr 1fr;align-items:center;gap:30px;min-height:540px}

.protos-site.protos-v2 .v-hero-copy {padding:36px 0 20px;position:relative;z-index:2}

.protos-site.protos-v2 .v-hero h1 {font-size:clamp(38px,4.2vw,62px);line-height:1.05;letter-spacing:-.045em;font-weight:750;position:relative;max-width:680px}

.protos-site.protos-v2 .v-hero h1 em {color:var(--blue);font-style:normal}

.protos-site.protos-v2 .v-title-dot {display:inline-block;color:var(--blue);font-size:38px;vertical-align:top;line-height:1.2;margin-left:12px;font-weight:400}

.protos-site.protos-v2 .v-hero-copy>p {font-size:14.5px;max-width:500px;margin:22px 0;line-height:1.7}

.protos-site.protos-v2 .v-hero-foot {display:flex;align-items:center;gap:15px;margin-top:40px;font-size:9px;letter-spacing:1px;color:var(--muted)}

.protos-site.protos-v2 .v-hero-foot b {display:block;font-weight:400;letter-spacing:0;font-size:12px;margin-top:4px}

.protos-site.protos-v2 .v-scroll-cue {width:36px;height:36px;border:1px solid #aab2ba;border-radius:50%;display:grid;place-items:center;font-size:18px;color:var(--navy)}

.protos-site.protos-v2 .v-stage {min-width:0;height:490px;position:relative;perspective:1200px;isolation:isolate}

.protos-site.protos-v2 .v-stage-ring {position:absolute;width:440px;height:440px;border:1px solid #a9b8b655;border-radius:50%;left:-10px;top:20px;z-index:-1}

.protos-site.protos-v2 .v-stage-ring.r2 {width:340px;height:340px;left:40px;top:70px;border-style:dashed}

.protos-site.protos-v2 .v-stage-cross {position:absolute;right:18px;top:-5px;font-size:100px;line-height:1;color:var(--lime);text-shadow:1px 1px 0 var(--navy),-1px -1px 0 var(--navy);transform:rotate(-15deg)}

.protos-site.protos-v2 .v-work-window {position:absolute;top:90px;left:6%;width:88%;max-width:440px;border:1px solid #1025404a;background:#fff;transform:translate(var(--px),var(--py)) rotate(-7deg);box-shadow:16px 20px 0 #dce9df,22px 28px 0 #1025400a;transition:transform .3s;z-index:2}

.protos-site.protos-v2 .v-window-bar {padding:15px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #10254025;font-size:9px;letter-spacing:1px}

.protos-site.protos-v2 .v-dots {font-size:7px;letter-spacing:3px;color:#89989d}

.protos-site.protos-v2 .v-work-head {display:flex;justify-content:space-between;padding:25px 27px;gap:20px}

.protos-site.protos-v2 .v-work-head small {font-size:8px;color:var(--muted);letter-spacing:1px}

.protos-site.protos-v2 .v-work-head h3 {font-size:34px;margin-top:12px}

.protos-site.protos-v2 .v-round-arrow {width:51px;height:51px;border:1px solid var(--navy);border-radius:50%;display:grid;place-items:center;font-size:32px;background:var(--lime)}

.protos-site.protos-v2 .v-work-chart {padding:0 27px;color:var(--blue)}

.protos-site.protos-v2 .v-work-chart>span {font-size:11px;color:var(--muted)}

.protos-site.protos-v2 .v-work-chart svg {height:135px;width:100%;margin-top:10px}

.protos-site.protos-v2 .v-work-chart small {display:block;font-size:8px;color:var(--muted)}

.protos-site.protos-v2 .v-work-bottom {display:flex;justify-content:space-between;margin:20px 27px;border-top:1px solid #ddd;padding-top:15px;font-size:10px}

.protos-site.protos-v2 .v-work-bottom i {display:inline-block;width:6px;height:6px;background:#3b8862;border-radius:50%;margin-right:5px}

.protos-site.protos-v2 .v-float {position:absolute;z-index:3;transition:transform .3s}

.protos-site.protos-v2 .v-license {bottom:29px;left:-14px;display:flex;align-items:center;gap:14px;background:var(--blue);color:white;padding:22px 26px;transform:translate(calc(var(--px) * 1.4),calc(var(--py) * 1.4)) rotate(4deg);box-shadow:8px 8px 0 #10254013}

.protos-site.protos-v2 .v-license small {font-size:8px;letter-spacing:1px;color:#c5d7ff}

.protos-site.protos-v2 .v-license strong {display:block;font-size:19px;letter-spacing:-.6px;margin:5px 0}

.protos-site.protos-v2 .v-license div>span {font-size:11px;color:#e4ebff}

.protos-site.protos-v2 .v-mini-icon {display:grid;place-items:center;width:42px;height:42px;border:1px solid #fff9;border-radius:50%;font-size:30px}

.protos-site.protos-v2 .v-social {top:42px;left:-22px;display:flex;gap:5px;align-items:center;background:var(--paper);border:1px solid #10254040;padding:12px 16px;transform:translate(calc(var(--px) * -1),calc(var(--py) * -1)) rotate(-6deg)}

.protos-site.protos-v2 .v-social>span {display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:white;font-weight:bold}

.protos-site.protos-v2 .v-social small {max-width:80px;font-size:8px;letter-spacing:1px;margin-left:7px}

.protos-site.protos-v2 .v-stage-index {position:absolute;bottom:-5px;right:0;font-size:8px;letter-spacing:1.6px;writing-mode:vertical-rl;height:200px}

.protos-site.protos-v2 .v-platform-rail {background:var(--navy);color:#fff}

.protos-site.protos-v2 .v-platform-rail .v-container {display:flex;align-items:center;justify-content:space-between;gap:22px;padding:28px 0}

.protos-site.protos-v2 .v-platform-rail .v-container>span {font-size:9px;color:#a9bad0;line-height:1.8;letter-spacing:.8px}

.protos-site.protos-v2 .v-platform-rail b {color:#fff;font-weight:400}

.protos-site.protos-v2 .v-platform-rail a {display:flex;align-items:center;gap:13px;font-size:17px;transition:color .2s}

.protos-site.protos-v2 .v-platform-rail a:hover {color:var(--lime)}

.protos-site.protos-v2 .v-platform-rail i {font-style:normal;font-size:25px;font-weight:bold}

.protos-site.protos-v2 .v-needs {background:#fff}

.protos-site.protos-v2 .v-split-title {display:grid;grid-template-columns:1fr 1.3fr;gap:55px;margin-bottom:54px}

.protos-site.protos-v2 .v-need-layout {display:grid;grid-template-columns:1fr 1.3fr;gap:55px}

.protos-site.protos-v2 .v-need-tabs button {width:100%;display:flex;align-items:center;gap:20px;padding:30px 20px;text-align:left;background:transparent;border:0;border-top:1px solid #ccd2d6;color:var(--navy);min-height:116px;transition:background .2s,transform .2s}

.protos-site.protos-v2 .v-need-tabs button:last-child {border-bottom:1px solid #ccd2d6}

.protos-site.protos-v2 .v-need-tabs button>span {font-size:11px;color:var(--muted)}

.protos-site.protos-v2 .v-need-tabs strong {display:block;font-size:21px;letter-spacing:-.5px}

.protos-site.protos-v2 .v-need-tabs small {display:block;color:var(--muted);font-size:12px;margin-top:7px}

.protos-site.protos-v2 .v-need-tabs i {font-style:normal;font-size:24px;margin-left:auto}

.protos-site.protos-v2 .v-need-tabs button[aria-selected=true] {background:var(--lime);border-color:var(--lime)}

.protos-site.protos-v2 .v-need-panel {background:var(--paper);padding:42px 46px;position:relative;overflow:hidden;min-height:395px}

.protos-site.protos-v2 .v-need-index {font-size:10px;letter-spacing:1px;color:var(--muted)}

.protos-site.protos-v2 .v-need-panel h3 {font-size:32px;margin:20px 0;max-width:420px;position:relative;z-index:1}

.protos-site.protos-v2 .v-need-panel p {font-size:14px;max-width:460px;position:relative;z-index:1}

.protos-site.protos-v2 .v-need-panel ul {list-style:none;padding:0;margin:22px 0;display:flex;gap:15px;flex-wrap:wrap;font-size:10px}

.protos-site.protos-v2 .v-need-panel li>span {margin-right:5px;color:var(--blue)}

.protos-site.protos-v2 .v-need-panel .v-btn {position:relative;z-index:1}

.protos-site.protos-v2 .v-need-shape {font-size:180px;position:absolute;right:10px;bottom:-20px;color:#d9ded6;line-height:1}

.protos-site.protos-v2 .v-shop {background:var(--paper)}

.protos-site.protos-v2 .v-product-showcase {display:grid;grid-template-columns:1fr 1fr 1fr;gap:26px}

.protos-site.protos-v2 .v-product-tile {min-width:0}

.protos-site.protos-v2 .v-product-canvas {height:330px;position:relative;display:block;background:#dce9df;padding:27px;overflow:hidden}

.protos-site.protos-v2 .v-product-tile.calendar .v-product-canvas {background:#e0e7ff}

.protos-site.protos-v2 .v-product-tile.video .v-product-canvas {background:#102540}

.protos-site.protos-v2 .v-canvas-arrow {position:absolute;right:16px;bottom:16px;width:42px;height:42px;border-radius:50%;background:white;display:grid;place-items:center;font-size:25px;transition:transform .3s}

.protos-site.protos-v2 .v-product-canvas:hover .v-canvas-arrow {transform:rotate(45deg);background:var(--lime)}

.protos-site.protos-v2 .v-product-canvas>div {transition:transform .45s}

.protos-site.protos-v2 .v-product-canvas:hover>div {transform:translateY(-7px) rotate(0)}

.protos-site.protos-v2 .v-product-meta {padding:25px 0;border-bottom:1px solid #bfc6c5}

.protos-site.protos-v2 .v-product-meta small {font-size:8px;letter-spacing:1.2px}

.protos-site.protos-v2 .v-product-meta h3 {font-size:24px;margin:10px 0}

.protos-site.protos-v2 .v-product-meta p {font-size:12px}

.protos-site.protos-v2 .v-product-meta>div {display:flex;justify-content:space-between;gap:12px;font-size:11px;margin-top:20px}

.protos-site.protos-v2 .v-product-meta a {font-weight:bold}

.protos-site.protos-v2 .v-report-demo {background:white;padding:25px;transform:rotate(-7deg);border:1px solid #91a199;box-shadow:10px 15px 0 #a9c4b450;width:95%;height:310px;color:var(--blue)}

.protos-site.protos-v2 .v-report-demo small {font-size:7px;letter-spacing:1px;color:var(--muted)}

.protos-site.protos-v2 .v-report-demo h3 {font-size:33px;margin-top:17px}

.protos-site.protos-v2 .v-report-demo svg {height:140px;margin:10px 0}

.protos-site.protos-v2 .v-report-demo>span {font-size:8px;color:var(--muted)}

.protos-site.protos-v2 .v-cal-demo {background:white;padding:18px;transform:rotate(7deg);border:1px solid #798aaa;box-shadow:10px 12px 0 #2458ec15;margin-top:20px}

.protos-site.protos-v2 .v-cal-demo>div:first-child {display:flex;justify-content:space-between;font-size:8px;padding-bottom:15px}

.protos-site.protos-v2 .v-cal-days {display:grid;grid-template-columns:repeat(7,1fr);gap:3px}

.protos-site.protos-v2 .v-cal-days>span {font-size:8px;height:54px;border-top:1px solid #e1e4e8;padding-top:5px;color:var(--muted)}

.protos-site.protos-v2 .v-cal-days .scheduled {background:#ebeff9}

.protos-site.protos-v2 .v-cal-days i {font-size:6px;font-style:normal;display:block;background:var(--blue);color:#fff;margin-top:10px;padding:3px}

.protos-site.protos-v2 .v-video-demo {display:flex;justify-content:space-between;align-items:end;color:white;position:relative;height:100%}

.protos-site.protos-v2 .v-video-demo>div:first-child {position:absolute;top:0;left:0;font-size:8px;letter-spacing:1px}

.protos-site.protos-v2 .v-video-demo b {display:block;font-size:25px;margin-top:8px}

.protos-site.protos-v2 .v-video-frame {width:140px;height:250px;background:var(--lime);border:7px solid #fff;color:var(--navy);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;transform:rotate(-9deg);margin-left:30px}

.protos-site.protos-v2 .v-video-frame i {width:40px;height:40px;border:1px solid var(--navy);border-radius:50%;display:grid;place-items:center;font-style:normal}

.protos-site.protos-v2 .v-video-frame span {font-weight:bold;font-size:20px;line-height:1;letter-spacing:-1px}

.protos-site.protos-v2 .v-video-bars {display:flex;height:100px;align-items:end;gap:5px;position:absolute;right:-5px;bottom:35px}

.protos-site.protos-v2 .v-video-bars i {background:#6285fc;width:11px}

.protos-site.protos-v2 .v-services {background:var(--navy);color:#fff;padding:120px 0}

.protos-site.protos-v2 .v-service-layout {display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:start}

.protos-site.protos-v2 .v-sticky-intro {position:sticky;top:110px;overflow:hidden}

.protos-site.protos-v2 .v-sticky-intro .v-label {color:#acbfd4}

.protos-site.protos-v2 .v-sticky-intro .v-label>span {background:var(--lime)}

.protos-site.protos-v2 .v-sticky-intro h2 {font-size:clamp(44px,5.1vw,75px);max-width:470px}

.protos-site.protos-v2 .v-sticky-intro h2 em {color:var(--lime)}

.protos-site.protos-v2 .v-sticky-intro p {color:#b7c6d8;max-width:370px;font-size:15px;margin:28px 0}

.protos-site.protos-v2 .v-outline-word {display:block;font-size:130px;line-height:1.1;font-weight:bold;letter-spacing:-8px;color:transparent;-webkit-text-stroke:1px #6b8093;opacity:.4;margin-top:48px}

.protos-site.protos-v2 .v-service-stack article {padding:35px 0 50px;border-top:1px solid #6a7c90;margin-bottom:35px;min-height:275px}

.protos-site.protos-v2 .v-service-stack article>div {display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;color:#8ea5bf}

.protos-site.protos-v2 .v-service-stack article>div>span {font-size:38px;letter-spacing:-2px}

.protos-site.protos-v2 .v-service-stack small {font-size:9px;letter-spacing:1px}

.protos-site.protos-v2 .v-service-stack h3 {font-size:36px;margin-bottom:20px}

.protos-site.protos-v2 .v-service-stack p {font-size:15px;color:#b7c6d8;max-width:470px}

.protos-site.protos-v2 .v-service-stack .v-text-link {color:var(--lime);margin-top:26px}

.protos-site.protos-v2 .v-platforms {background:#fff}

.protos-site.protos-v2 .v-platform-grid {display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #b7c2ca;border-bottom:1px solid #b7c2ca}

.protos-site.protos-v2 .v-platform-grid>a {padding:26px 24px 22px;border-right:1px solid #b7c2ca;min-width:0;transition:background .3s}

.protos-site.protos-v2 .v-platform-grid>a:first-child {border-left:1px solid #b7c2ca}

.protos-site.protos-v2 .v-platform-grid>a:hover {background:var(--lime)}

.protos-site.protos-v2 .v-platform-num {font-size:8px;letter-spacing:1px;color:var(--muted)}

.protos-site.protos-v2 .v-platform-grid i {display:block;font-size:64px;font-style:normal;font-weight:bold;line-height:1;margin:45px 0 35px;color:var(--blue);transition:transform .3s}

.protos-site.protos-v2 .v-platform-grid>a:hover i {transform:rotate(-12deg)}

.protos-site.protos-v2 .v-platform-grid h3 {font-size:24px}

.protos-site.protos-v2 .v-platform-grid p {font-size:12px;min-height:60px;margin:15px 0 20px}

.protos-site.protos-v2 .v-platform-cta {font-size:10px;display:flex;justify-content:space-between;align-items:center}

.protos-site.protos-v2 .v-platform-cta>span {font-size:22px}

.protos-site.protos-v2 .v-journey-section {background:var(--paper);border-bottom:1px solid #c9ceca}

.protos-site.protos-v2 .v-journey {display:grid;grid-template-columns:repeat(4,1fr);gap:30px}

.protos-site.protos-v2 .v-journey article {border-top:1px solid #aebbb2;padding:30px 0}

.protos-site.protos-v2 .v-journey-symbol {width:70px;height:70px;border:1px solid #b4c0b7;background:#fff;display:grid;place-items:center;border-radius:50%;font-size:35px;margin-bottom:30px}

.protos-site.protos-v2 .v-journey article:nth-child(even) .v-journey-symbol {background:var(--lime);border-radius:0;transform:rotate(-6deg)}

.protos-site.protos-v2 .v-journey small {font-size:9px;color:var(--muted);letter-spacing:1px}

.protos-site.protos-v2 .v-journey h3 {font-size:25px;margin:12px 0}

.protos-site.protos-v2 .v-journey p {font-size:14px;max-width:250px}

.protos-site.protos-v2 .v-academy {background:#fff}

.protos-site.protos-v2 .v-academy-layout {display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}

.protos-site.protos-v2 .v-academy-art {min-height:620px;background:#dce9df;position:relative;overflow:hidden;padding:38px;display:flex;flex-direction:column;justify-content:space-between;color:var(--navy)}

.protos-site.protos-v2 .v-academy-art>span {font-size:10px;letter-spacing:2px;z-index:1}

.protos-site.protos-v2 .v-academy-art>strong {font-size:112px;line-height:.94;letter-spacing:-8px;z-index:1}

.protos-site.protos-v2 .v-academy-art em {font-style:normal;color:var(--blue)}

.protos-site.protos-v2 .v-academy-art>small {font-size:8px;letter-spacing:1.2px;z-index:1}

.protos-site.protos-v2 .v-academy-orbit {position:absolute;width:420px;height:420px;border:60px solid #f2f5ec;border-radius:50%;right:-200px;top:180px}

.protos-site.protos-v2 .v-academy-orbit:after {content:'';position:absolute;width:260px;height:260px;background:var(--lime);border-radius:50%;top:20px;left:-100px;mix-blend-mode:multiply}

.protos-site.protos-v2 .v-academy-copy>p {font-size:15px;margin:28px 0}

.protos-site.protos-v2 .v-academy-list {margin:30px 0}

.protos-site.protos-v2 .v-academy-list a {display:flex;gap:20px;align-items:center;border-top:1px solid #bdc7c2;padding:24px 0}

.protos-site.protos-v2 .v-academy-list a>span {font-size:11px;color:var(--muted)}

.protos-site.protos-v2 .v-academy-list small {display:block;font-size:10px;color:var(--muted)}

.protos-site.protos-v2 .v-academy-list strong {display:block;font-size:21px;letter-spacing:-.6px;margin-top:6px}

.protos-site.protos-v2 .v-academy-list b {margin-left:auto;font-size:22px;font-weight:400}

.protos-site.protos-v2 .v-resources {background:#e4ebde;overflow:hidden}

.protos-site.protos-v2 .v-resource-layout {display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}

.protos-site.protos-v2 .v-resource-layout>div:first-child>p {max-width:420px;margin:28px 0}

.protos-site.protos-v2 .v-paper-stack {height:480px;position:relative}

.protos-site.protos-v2 .v-paper {position:absolute;padding:30px;background:#fff;width:68%;height:370px;border:1px solid #a9b7a5;box-shadow:12px 15px 0 #1025400a;transition:transform .35s}

.protos-site.protos-v2 .v-paper.back {right:0;top:0;background:var(--lime);transform:translate(calc(var(--px) * -1),calc(var(--py) * -1)) rotate(8deg)}

.protos-site.protos-v2 .v-paper.front {left:0;bottom:0;transform:translate(var(--px),var(--py)) rotate(-8deg)}

.protos-site.protos-v2 .v-paper small {font-size:8px;letter-spacing:1px;display:block;margin-bottom:40px}

.protos-site.protos-v2 .v-paper strong {font-size:28px;letter-spacing:-1px;line-height:1.2;display:block}

.protos-site.protos-v2 .v-paper ul {padding:0;list-style:none;margin:25px 0}

.protos-site.protos-v2 .v-paper li {font-size:10px;border-top:1px solid #d7ddd6;padding:9px 0}

.protos-site.protos-v2 .v-paper li:before {content:'□';margin-right:10px}

.protos-site.protos-v2 .v-paper .v-text-link {font-size:10px}

.protos-site.protos-v2 .v-paper-lines {height:160px;background:repeating-linear-gradient(transparent,transparent 27px,#10254035 28px,#10254035 29px);margin-top:20px}

.protos-site.protos-v2 .v-journal {background:var(--paper)}

.protos-site.protos-v2 .v-journal-grid {display:grid;grid-template-columns:1.05fr 1fr;gap:70px}

.protos-site.protos-v2 .v-journal-art {height:345px;background:var(--blue);color:white;position:relative;overflow:hidden;padding:35px}

.protos-site.protos-v2 .v-journal-art>span {font-size:70px;line-height:1;letter-spacing:-4px;font-weight:bold;display:block;position:relative}

.protos-site.protos-v2 .v-journal-asterisk {font-size:100px;color:var(--lime);position:absolute;right:0;top:5px}

.protos-site.protos-v2 .v-journal-art>div {position:absolute;left:0;right:0;bottom:-30px;color:#8facff}

.protos-site.protos-v2 .v-journal-art>div svg {width:100%}

.protos-site.protos-v2 .v-journal-art>small {position:absolute;bottom:24px;left:35px;font-size:8px;letter-spacing:1.5px}

.protos-site.protos-v2 .v-journal-feature>div:last-child {padding:28px 0}

.protos-site.protos-v2 .v-journal-feature>div:last-child>small {font-size:9px;letter-spacing:.8px;color:var(--muted)}

.protos-site.protos-v2 .v-journal-feature h3 {font-size:33px;max-width:460px;margin:15px 0}

.protos-site.protos-v2 .v-journal-feature>div:last-child>span {font-size:13px;color:var(--muted)}

.protos-site.protos-v2 .v-journal-side>a {display:flex;gap:28px;padding:33px 0;border-top:1px solid #b8c2c1}

.protos-site.protos-v2 .v-journal-side>a>span {font-size:11px;color:var(--muted);padding-top:4px}

.protos-site.protos-v2 .v-journal-side h3 {font-size:28px;line-height:1.2}

.protos-site.protos-v2 .v-journal-side p {font-size:13px;margin:15px 0}

.protos-site.protos-v2 .v-journal-side small {font-size:8px;letter-spacing:.7px;color:var(--blue)}

.protos-site.protos-v2 .v-member {background:#fff}

.protos-site.protos-v2 .v-member-layout {display:grid;grid-template-columns:1.2fr 1fr;gap:85px;align-items:center}

.protos-site.protos-v2 .v-member-layout>div:last-child p {margin:28px 0}

.protos-site.protos-v2 .v-member-preview {background:var(--paper);border:1px solid #aebbb9;box-shadow:16px 16px 0 #e4e9df}

.protos-site.protos-v2 .v-member-preview .v-window-bar {background:var(--navy);color:#fff;padding:20px}

.protos-site.protos-v2 .v-member-preview .v-window-bar>span:first-child {font-size:20px;font-weight:bold;letter-spacing:-1px}

.protos-site.protos-v2 .v-member-preview .v-window-bar i {font-style:normal;background:var(--lime);color:var(--navy);border-radius:50%;padding:8px;font-size:8px}

.protos-site.protos-v2 .v-member-content {display:grid;grid-template-columns:120px 1fr;gap:30px;padding:30px 20px 20px}

.protos-site.protos-v2 .v-member-menu {font-size:8px;display:flex;flex-direction:column;gap:24px}

.protos-site.protos-v2 .v-member-menu b {color:var(--blue)}

.protos-site.protos-v2 .v-member-content>div:last-child>small {font-size:7px;letter-spacing:1px}

.protos-site.protos-v2 .v-member-content h3 {font-size:30px;margin:17px 0 25px}

.protos-site.protos-v2 .v-member-license {display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #dae0de;margin:10px 0;padding:16px 12px}

.protos-site.protos-v2 .v-member-license>span {font-size:25px;color:var(--blue)}

.protos-site.protos-v2 .v-member-license strong {font-size:11px;display:block}

.protos-site.protos-v2 .v-member-license small {font-size:8px;color:var(--muted);display:block;margin-top:5px}

.protos-site.protos-v2 .v-member-license>b {margin-left:auto}

.protos-site.protos-v2 .v-member-preview>.v-caption {display:block;padding:0 20px 15px;font-size:8px}

.protos-site.protos-v2 .v-questions {background:var(--paper)}

.protos-site.protos-v2 .v-faq-layout {display:grid;grid-template-columns:1fr 1.2fr;gap:100px}

.protos-site.protos-v2 .v-faq-layout>div:first-child>p {margin:25px 0}

.protos-site.protos-v2 .v-faq details {border-top:1px solid #abb8b6;padding:24px 0}

.protos-site.protos-v2 .v-faq summary {display:flex;gap:22px;justify-content:space-between;cursor:pointer;list-style:none;font-weight:600;font-size:18px;line-height:1.4;letter-spacing:-.4px}

.protos-site.protos-v2 .v-faq summary::-webkit-details-marker {display:none}

.protos-site.protos-v2 .v-faq summary span {font-weight:400;font-size:25px}

.protos-site.protos-v2 .v-faq details[open] summary span {transform:rotate(45deg)}

.protos-site.protos-v2 .v-faq details>p {font-size:14px;margin-top:20px;max-width:530px}

.protos-site.protos-v2 .v-final {background:var(--blue);color:#fff;padding:80px 0 90px;position:relative;overflow:hidden}

.protos-site.protos-v2 .v-final .v-container {position:relative}

.protos-site.protos-v2 .v-final .v-label>span {background:var(--lime)}

.protos-site.protos-v2 .v-final h2 {font-size:clamp(70px,11vw,165px);line-height:.95;letter-spacing:-.07em;position:relative}

.protos-site.protos-v2 .v-final h2 em {font-style:normal;color:var(--lime)}

.protos-site.protos-v2 .v-final-star {position:absolute;font-size:380px;line-height:1;right:5px;top:-20px;color:#527ced;transform:rotate(15deg)}

.protos-site.protos-v2 .v-final-row {display:flex;gap:20px;align-items:center;margin-top:55px;position:relative}

.protos-site.protos-v2 .v-final-row>p {color:#dfe6ff;line-height:1.7;font-size:15px;margin-right:auto}

.protos-site.protos-v2 .p-footer {padding-top:75px;background:#0a1a30}

.protos-site.protos-v2 .p-footer a:not(.p-logo) {font-size:13px}

.protos-site.protos-v2 .p-footer-grid {gap:40px}

.protos-site.protos-v2[data-module=dich-vu] .p-hero.compact {background:var(--navy);color:#fff}

.protos-site.protos-v2[data-module=dich-vu] .p-hero.compact p {color:#bbc9dc}

.protos-site.protos-v2[data-module=dich-vu] .p-hero.compact .p-breadcrumb,
.protos-site.protos-v2[data-module=dich-vu] .p-hero.compact .p-breadcrumb a,
.protos-site.protos-v2[data-module=dich-vu] .p-eyebrow {color:#b8ccff}

.protos-site.protos-v2[data-module=dich-vu] .p-hero.compact .p-btn.secondary {color:#fff;border-color:#a6b6cc}

.protos-site.protos-v2[data-module=dao-tao] .p-pagehead {background:var(--sage);padding:80px 0}

.protos-site.protos-v2[data-module=dao-tao] .p-card {border-radius:15px 15px 0 0}

.protos-site.protos-v2[data-module=tai-nguyen] .p-pagehead {background:#e7eccf}

.protos-site.protos-v2[data-module=kien-thuc] .p-pagehead {background:#efede6;border-bottom:3px solid var(--navy)}

.protos-site.protos-v2[data-module=kien-thuc] .p-pagehead h1 {font-size:clamp(44px,5.3vw,78px);max-width:950px}

.protos-site.protos-v2[data-module=ve-protos] .p-pagehead {background:#e7eafb}

.protos-site.protos-v2 .p-card,
.protos-site.protos-v2 .p-pillar {transition:transform .28s,box-shadow .28s}

.protos-site.protos-v2 .p-card:hover {transform:translateY(-4px);box-shadow:0 14px 35px #1025400d}

.protos-site.protos-v2 .p-btn {border-radius:0}

.protos-site.protos-v2 .p-hero.compact h1 {font-size:clamp(42px,4.8vw,70px)}

.protos-site.protos-v2 .p-section {padding:90px 0}

.protos-site.protos-v2 .p-cover-title {font-size:34px}

.protos-site.protos-v2 .p-pagehead h1 {max-width:1000px}

.protos-site.protos-v2 .p-cta {border-radius:0;background:var(--lime)}

.protos-site.protos-v2.v-motion-ready [data-reveal] {transition:opacity .65s cubic-bezier(.2,.7,.2,1),transform .65s cubic-bezier(.2,.7,.2,1),clip-path .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}

.protos-site.protos-v2.v-motion-ready [data-reveal]:not(.is-revealed) {opacity:0;translate:0 32px}

.protos-site.protos-v2.v-motion-ready [data-reveal=mask]:not(.is-revealed) {clip-path:inset(0 0 20% 0);translate:0 25px}

.protos-site.protos-v2.v-motion-ready [data-reveal=scale]:not(.is-revealed) {translate:0 15px;scale:.965}

.protos-site.protos-v2.v-motion-ready [data-reveal=left]:not(.is-revealed) {translate:-28px 0}

.protos-site.protos-v2.v-motion-ready .v-stage-cross {animation:v-turn-in 1.4s cubic-bezier(.2,.7,.2,1) both}

.protos-site.protos-v2.v-motion-ready .v-work-window {animation:v-window-in 1s cubic-bezier(.2,.7,.2,1) both}

.protos-site.protos-v2.v-motion-ready .v-license {animation:v-layer-in 1.1s .15s cubic-bezier(.2,.7,.2,1) both}

.protos-site.protos-v2.v-motion-ready .v-social {animation:v-layer-in 1s .25s cubic-bezier(.2,.7,.2,1) both}

.protos-site.protos-v2 .v-chart-line {stroke-dasharray:700;stroke-dashoffset:0}

.protos-site.protos-v2.v-motion-ready .v-hero .v-chart-line {animation:v-draw 1.7s .4s ease both}

.protos-site.protos-v2[data-motion=off] *,
.protos-site.protos-v2[data-motion=off] *:before,
.protos-site.protos-v2[data-motion=off] *:after {animation:none!important;transition:none!important;scroll-behavior:auto!important}

.protos-site.protos-v2[data-motion=off] [data-parallax] {--px:0px!important;--py:0px!important}

@keyframes v-turn-in{from{opacity:0;transform:rotate(-100deg) scale(.5)}to{opacity:1;transform:rotate(-15deg) scale(1)}}@keyframes v-window-in{from{opacity:0;translate:25px 35px}to{opacity:1;translate:0 0}}@keyframes v-layer-in{from{opacity:0;translate:0 35px}to{opacity:1;translate:0 0}}@keyframes v-draw{from{stroke-dashoffset:700}to{stroke-dashoffset:0}}
@media(max-width:1150px){
.protos-site.protos-v2 .v-header .p-mainnav {gap:14px;font-size:11px}

.protos-site.protos-v2 .v-header .p-header-inner {gap:20px}

.protos-site.protos-v2 .v-hero-layout {gap:15px}

.protos-site.protos-v2 .v-hero h1 {font-size:72px}

.protos-site.protos-v2 .v-hero .v-btn {font-size:12px;gap:12px;padding:14px}

.protos-site.protos-v2 .v-stage {height:530px}

.protos-site.protos-v2 .v-license {left:-15px;bottom:0;padding:16px}

.protos-site.protos-v2 .v-license strong {font-size:17px}

.protos-site.protos-v2 .v-work-window {top:115px;left:2%;width:96%}

.protos-site.protos-v2 .v-stage-ring {width:420px;height:420px}

.protos-site.protos-v2 .v-stage-ring.r2 {width:330px;height:330px}

.protos-site.protos-v2 .v-title-dot {font-size:38px}

.protos-site.protos-v2 .v-service-layout,
.protos-site.protos-v2 .v-academy-layout,
.protos-site.protos-v2 .v-faq-layout {gap:50px}

.protos-site.protos-v2 .v-academy-art>strong {font-size:90px}

.protos-site.protos-v2 .v-product-canvas {padding:18px}

.protos-site.protos-v2 .v-product-meta h3 {font-size:21px}

.protos-site.protos-v2 .v-member-layout {gap:45px}

.protos-site.protos-v2 .v-member-content {grid-template-columns:80px 1fr;gap:15px}

.protos-site.protos-v2 .v-platform-grid>a {padding:25px 17px}

.protos-site.protos-v2 .v-platform-grid h3 {font-size:20px}
}
@media(max-width:900px){
.protos-site.protos-v2 .p-wrap,
.protos-site.protos-v2 .v-container {width:calc(100% - 48px)}

.protos-site.protos-v2 .v-header .p-mainnav {
  display:none;position:absolute;top:70px;left:0;right:0;
  background:rgba(7, 9, 14, 0.97) !important;
  backdrop-filter:blur(24px) !important;
  -webkit-backdrop-filter:blur(24px) !important;
  padding:20px 24px;
  border-bottom:1px solid rgba(255, 255, 255, 0.1) !important;
  font-size:14px;gap:8px;
  box-shadow:0 25px 50px rgba(0,0,0,0.85) !important;
  z-index:999;
}

.protos-site.protos-v2 .v-header .p-mainnav.open {
  display:flex !important; flex-direction:column;
}

.protos-site.protos-v2 .v-header .p-mainnav .ps-nav-menu {
  flex-direction:column; align-items:flex-start; width:100%; gap:6px;
}

.protos-site.protos-v2 .v-header .p-mainnav .ps-menu-item {
  width:100%;
}

.protos-site.protos-v2 .v-header .p-mainnav .ps-menu-item > a {
  width:100%; padding:10px 14px; font-size:14px; color:#e2e8f0; border-radius:8px;
}

.protos-site.protos-v2 .v-header .p-mainnav .ps-menu-item > a:hover,
.protos-site.protos-v2 .v-header .p-mainnav .ps-menu-item.current-menu-item > a {
  color:#38bdf8; background:rgba(37, 99, 235, 0.15);
}

.protos-site.protos-v2 .v-header.scrolled .p-mainnav {top:62px}

.protos-site.protos-v2 .v-header .p-mainnav a {padding:10px 12px}

.protos-site.protos-v2 .v-header .p-mainnav a:after {bottom:4px}

.protos-site.protos-v2 .v-header .p-menu {display:grid}

.protos-site.protos-v2 .v-header .p-header-actions {margin-left:auto}

.protos-site.protos-v2 .v-hero-layout {grid-template-columns:1.1fr 1fr;min-height:630px}

.protos-site.protos-v2 .v-hero h1 {font-size:59px}

.protos-site.protos-v2 .v-hero-copy>p {font-size:14px}

.protos-site.protos-v2 .v-stage {height:500px}

.protos-site.protos-v2 .v-work-head {padding:20px}

.protos-site.protos-v2 .v-work-head h3 {font-size:26px}

.protos-site.protos-v2 .v-work-head small {font-size:7px}

.protos-site.protos-v2 .v-work-chart {padding:0 20px}

.protos-site.protos-v2 .v-work-chart svg {height:110px}

.protos-site.protos-v2 .v-work-bottom {margin:15px 20px}

.protos-site.protos-v2 .v-work-window {top:125px}

.protos-site.protos-v2 .v-stage-cross {font-size:120px;top:42px}

.protos-site.protos-v2 .v-social {top:75px;left:0;padding:9px}

.protos-site.protos-v2 .v-social small {display:none}

.protos-site.protos-v2 .v-license {bottom:0;left:-25px}

.protos-site.protos-v2 .v-stage-index {display:none}

.protos-site.protos-v2 .v-hero .v-title-dot {font-size:35px;margin-left:12px}

.protos-site.protos-v2 .v-platform-rail .v-container {flex-wrap:wrap;justify-content:flex-start;gap:20px 30px}

.protos-site.protos-v2 .v-platform-rail .v-container>span {display:none}

.protos-site.protos-v2 .v-platform-rail a {font-size:15px}

.protos-site.protos-v2 .v-section {padding:78px 0}

.protos-site.protos-v2 .v-need-layout,
.protos-site.protos-v2 .v-split-title {gap:25px}

.protos-site.protos-v2 .v-need-tabs strong {font-size:18px}

.protos-site.protos-v2 .v-need-panel {padding:28px}

.protos-site.protos-v2 .v-heading-row {gap:30px}

.protos-site.protos-v2 .v-product-showcase {gap:16px}

.protos-site.protos-v2 .v-product-canvas {height:265px;padding:15px}

.protos-site.protos-v2 .v-report-demo {padding:15px;height:250px}

.protos-site.protos-v2 .v-report-demo h3 {font-size:25px}

.protos-site.protos-v2 .v-report-demo svg {height:90px}

.protos-site.protos-v2 .v-cal-demo {padding:10px;margin-top:25px}

.protos-site.protos-v2 .v-cal-days>span {height:45px}

.protos-site.protos-v2 .v-video-frame {height:205px;width:110px;margin-left:20px}

.protos-site.protos-v2 .v-video-frame span {font-size:16px}

.protos-site.protos-v2 .v-video-bars {display:none}

.protos-site.protos-v2 .v-product-meta>div {display:block}

.protos-site.protos-v2 .v-product-meta>div>a {display:block;margin-top:10px}

.protos-site.protos-v2 .v-product-meta h3 {font-size:20px}

.protos-site.protos-v2 .v-sticky-intro h2 {font-size:52px}

.protos-site.protos-v2 .v-service-layout {gap:40px}

.protos-site.protos-v2 .v-service-stack h3 {font-size:28px}

.protos-site.protos-v2 .v-outline-word {font-size:80px;letter-spacing:-5px}

.protos-site.protos-v2 .v-platform-grid {grid-template-columns:repeat(3,1fr)}

.protos-site.protos-v2 .v-platform-grid>a {border-bottom:1px solid #b7c2ca}

.protos-site.protos-v2 .v-platform-grid>a:nth-child(4) {border-left:1px solid #b7c2ca}

.protos-site.protos-v2 .v-platform-grid i {margin:24px 0;font-size:50px}

.protos-site.protos-v2 .v-platform-grid p {min-height:36px}

.protos-site.protos-v2 .v-journey {grid-template-columns:1fr 1fr;gap:10px 30px}

.protos-site.protos-v2 .v-academy-layout {gap:35px}

.protos-site.protos-v2 .v-academy-art {padding:25px;min-height:570px}

.protos-site.protos-v2 .v-academy-art>strong {font-size:78px;letter-spacing:-5px}

.protos-site.protos-v2 .v-academy-art>small {font-size:7px;line-height:1.7}

.protos-site.protos-v2 .v-academy-copy h2 {font-size:40px}

.protos-site.protos-v2 .v-resource-layout {gap:30px}

.protos-site.protos-v2 .v-paper-stack {height:410px}

.protos-site.protos-v2 .v-paper {height:330px;width:77%;padding:20px}

.protos-site.protos-v2 .v-paper strong {font-size:22px}

.protos-site.protos-v2 .v-paper small {font-size:6px}

.protos-site.protos-v2 .v-paper .v-text-link {font-size:9px}

.protos-site.protos-v2 .v-journal-grid {gap:35px}

.protos-site.protos-v2 .v-journal-art {height:300px;padding:24px}

.protos-site.protos-v2 .v-journal-art>span {font-size:50px;letter-spacing:-3px}

.protos-site.protos-v2 .v-journal-asterisk {font-size:70px}

.protos-site.protos-v2 .v-journal-side h3 {font-size:24px}

.protos-site.protos-v2 .v-journal-side>a {gap:15px;padding:26px 0}

.protos-site.protos-v2 .v-member-layout {grid-template-columns:1fr;gap:55px}

.protos-site.protos-v2 .v-member-preview {max-width:650px;width:100%}

.protos-site.protos-v2 .v-member-content {grid-template-columns:140px 1fr;padding:35px;gap:25px}

.protos-site.protos-v2 .v-member-layout>div:last-child {max-width:570px}

.protos-site.protos-v2 .v-faq-layout {gap:45px;grid-template-columns:1fr 1.3fr}

.protos-site.protos-v2 .v-final-row {flex-wrap:wrap}

.protos-site.protos-v2 .v-final-row>p {width:100%;margin-bottom:15px}

.protos-site.protos-v2 .v-final-star {font-size:300px}

.protos-site.protos-v2 .p-section {padding:70px 0}
}
@media(max-width:650px){
.protos-site.protos-v2 .v-header {height:74px}

.protos-site.protos-v2 .v-header.scrolled {height:66px}

.protos-site.protos-v2 .v-header .p-mainnav {top:70px;display:none}
.protos-site.protos-v2 .v-header .p-mainnav.open {display:flex !important; flex-direction:column !important;}

.protos-site.protos-v2 .v-header.scrolled .p-mainnav {top:62px}

.protos-site.protos-v2 .v-header .p-iconbutton {width:40px;height:40px}

.protos-site.protos-v2 .v-header .p-header-inner {gap:10px}

.protos-site.protos-v2 .v-header .p-logo {font-size:28px}

.protos-site.protos-v2 .v-brand-symbol {width:29px;height:29px;font-size:28px;margin-right:4px}

.protos-site.protos-v2 .v-header .p-header-actions {gap:7px}

.protos-site.protos-v2 .v-hero {padding-top:22px;padding-bottom:35px}

.protos-site.protos-v2 .v-hero-top {padding-bottom:18px}

.protos-site.protos-v2 .v-hero-top .v-label {font-size:7px;letter-spacing:.8px}

.protos-site.protos-v2 .v-edition {display:none}

.protos-site.protos-v2 .v-hero-layout {display:block;min-height:0}

.protos-site.protos-v2 .v-hero-copy {padding:35px 0 0}

.protos-site.protos-v2 .v-hero h1 {font-size:clamp(43px,11.9vw,70px);line-height:1.02;letter-spacing:-.06em}

.protos-site.protos-v2 .v-title-dot {font-size:32px!important}

.protos-site.protos-v2 .v-hero-copy>p {font-size:15px;line-height:1.75;margin:23px 0}

.protos-site.protos-v2 .v-hero .v-actions {gap:9px}

.protos-site.protos-v2 .v-hero .v-btn {font-size:12px;min-height:50px;padding:13px 14px}

.protos-site.protos-v2 .v-hero-foot {margin-top:26px}

.protos-site.protos-v2 .v-stage {height:455px;margin:20px auto 0;max-width:440px}

.protos-site.protos-v2 .v-work-window {top:80px;left:5%;width:89%;transform:rotate(-6deg);box-shadow:12px 16px 0 var(--sage),18px 22px 0 #1025400a}

.protos-site.protos-v2 .v-work-head h3 {font-size:27px}

.protos-site.protos-v2 .v-work-chart svg {height:105px}

.protos-site.protos-v2 .v-work-chart small {font-size:7px}

.protos-site.protos-v2 .v-license {left:0;bottom:6px;padding:16px 18px}

.protos-site.protos-v2 .v-license strong {font-size:16px}

.protos-site.protos-v2 .v-license div>span {font-size:10px}

.protos-site.protos-v2 .v-license small {font-size:7px}

.protos-site.protos-v2 .v-mini-icon {width:33px;height:33px;font-size:25px}

.protos-site.protos-v2 .v-social {top:18px;left:5px;transform:rotate(-5deg)}

.protos-site.protos-v2 .v-social>span {width:27px;height:27px;font-size:13px}

.protos-site.protos-v2 .v-stage-cross {top:0;right:0;font-size:104px}

.protos-site.protos-v2 .v-stage-ring {width:360px;height:360px;left:-12px;top:36px}

.protos-site.protos-v2 .v-stage-ring.r2 {width:280px;height:280px;left:28px;top:78px}

.protos-site.protos-v2 .v-platform-rail .v-container {gap:17px 22px;padding:24px 0}

.protos-site.protos-v2 .v-platform-rail a {font-size:12px;gap:8px}

.protos-site.protos-v2 .v-platform-rail i {font-size:19px}

.protos-site.protos-v2 .v-section {padding:60px 0}

.protos-site.protos-v2 .v-section h2 {font-size:38px;letter-spacing:-.05em}

.protos-site.protos-v2 .v-label {font-size:8px;letter-spacing:1px;margin-bottom:20px}

.protos-site.protos-v2 .v-split-title,
.protos-site.protos-v2 .v-need-layout {display:block}

.protos-site.protos-v2 .v-split-title {margin-bottom:30px}

.protos-site.protos-v2 .v-need-tabs button {min-height:94px;padding:20px 14px;gap:15px}

.protos-site.protos-v2 .v-need-tabs strong {font-size:18px}

.protos-site.protos-v2 .v-need-tabs small {font-size:12px}

.protos-site.protos-v2 .v-need-panel {padding:30px 24px;margin-top:25px;min-height:395px}

.protos-site.protos-v2 .v-need-panel h3 {font-size:29px}

.protos-site.protos-v2 .v-need-panel p {font-size:15px}

.protos-site.protos-v2 .v-need-panel ul {font-size:12px;display:block}

.protos-site.protos-v2 .v-need-panel li {margin:8px 0}

.protos-site.protos-v2 .v-heading-row {display:block;margin-bottom:32px}

.protos-site.protos-v2 .v-heading-row>p,
.protos-site.protos-v2 .v-heading-row>div:last-child:not(:first-child) {margin-top:24px;max-width:none;font-size:15px}

.protos-site.protos-v2 .v-product-showcase {grid-template-columns:1fr;gap:35px}

.protos-site.protos-v2 .v-product-canvas {height:360px;padding:30px}

.protos-site.protos-v2 .v-report-demo {height:335px;padding:28px}

.protos-site.protos-v2 .v-report-demo h3 {font-size:38px}

.protos-site.protos-v2 .v-report-demo svg {height:150px}

.protos-site.protos-v2 .v-report-demo small {font-size:8px}

.protos-site.protos-v2 .v-cal-demo {padding:20px;margin-top:30px}

.protos-site.protos-v2 .v-cal-days>span {height:68px;font-size:9px}

.protos-site.protos-v2 .v-cal-days i {font-size:7px}

.protos-site.protos-v2 .v-video-frame {height:280px;width:170px;margin:auto}

.protos-site.protos-v2 .v-video-frame span {font-size:25px}

.protos-site.protos-v2 .v-video-bars {display:flex}

.protos-site.protos-v2 .v-product-meta h3 {font-size:25px}

.protos-site.protos-v2 .v-product-meta p {font-size:14px}

.protos-site.protos-v2 .v-product-meta>div {display:flex;font-size:12px}

.protos-site.protos-v2 .v-product-meta>div>a {margin:0}

.protos-site.protos-v2 .v-caption {font-size:12px}

.protos-site.protos-v2 .v-service-layout {display:block}

.protos-site.protos-v2 .v-sticky-intro {position:relative;top:0}

.protos-site.protos-v2 .v-sticky-intro h2 {font-size:53px}

.protos-site.protos-v2 .v-sticky-intro p {font-size:15px}

.protos-site.protos-v2 .v-outline-word {display:none}

.protos-site.protos-v2 .v-service-stack {margin-top:50px}

.protos-site.protos-v2 .v-service-stack article {padding:27px 0 30px;min-height:0;margin-bottom:15px}

.protos-site.protos-v2 .v-service-stack h3 {font-size:29px}

.protos-site.protos-v2 .v-service-stack small {font-size:8px}

.protos-site.protos-v2 .v-platform-grid {grid-template-columns:1fr 1fr}

.protos-site.protos-v2 .v-platform-grid>a {padding:22px 18px}

.protos-site.protos-v2 .v-platform-grid>a:nth-child(odd) {border-left:1px solid #b7c2ca}

.protos-site.protos-v2 .v-platform-grid>a:nth-child(4) {border-left:0}

.protos-site.protos-v2 .v-platform-grid h3 {font-size:23px}

.protos-site.protos-v2 .v-platform-grid p {font-size:13px;min-height:50px}

.protos-site.protos-v2 .v-platform-grid>a:last-child {grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center}

.protos-site.protos-v2 .v-platform-grid>a:last-child>i {grid-column:1;grid-row:2/4}

.protos-site.protos-v2 .v-platform-num {font-size:8px}

.protos-site.protos-v2 .v-platform-grid>a:last-child>h3 {grid-column:2;grid-row:2}

.protos-site.protos-v2 .v-platform-grid>a:last-child>p {grid-column:2;grid-row:3}

.protos-site.protos-v2 .v-platform-grid>a:last-child>.v-platform-cta {grid-column:1/-1}

.protos-site.protos-v2 .v-journey {gap:8px 22px}

.protos-site.protos-v2 .v-journey article {padding:25px 0}

.protos-site.protos-v2 .v-journey-symbol {width:55px;height:55px;font-size:30px;margin-bottom:22px}

.protos-site.protos-v2 .v-journey h3 {font-size:24px}

.protos-site.protos-v2 .v-journey p {font-size:14px}

.protos-site.protos-v2 .v-academy-layout {display:flex;flex-direction:column;gap:40px}

.protos-site.protos-v2 .v-academy-art {width:100%;min-height:560px;padding:30px}

.protos-site.protos-v2 .v-academy-art>strong {font-size:105px;letter-spacing:-7px}

.protos-site.protos-v2 .v-academy-art>small {font-size:8px}

.protos-site.protos-v2 .v-academy-copy>p {font-size:15px}

.protos-site.protos-v2 .v-academy-list small {font-size:12px}

.protos-site.protos-v2 .v-academy-list strong {font-size:23px}

.protos-site.protos-v2 .v-resource-layout {display:block}

.protos-site.protos-v2 .v-resource-layout>div:first-child>p {font-size:15px}

.protos-site.protos-v2 .v-paper-stack {height:440px;margin-top:42px}

.protos-site.protos-v2 .v-paper {width:78%;height:350px;padding:24px}

.protos-site.protos-v2 .v-paper strong {font-size:26px}

.protos-site.protos-v2 .v-paper small {font-size:7px;margin-bottom:35px}

.protos-site.protos-v2 .v-paper li {font-size:11px}

.protos-site.protos-v2 .v-paper .v-text-link {font-size:11px}

.protos-site.protos-v2 .v-journal-grid {display:block}

.protos-site.protos-v2 .v-journal-art {height:330px;padding:28px}

.protos-site.protos-v2 .v-journal-art>span {font-size:59px}

.protos-site.protos-v2 .v-journal-feature h3 {font-size:31px}

.protos-site.protos-v2 .v-journal-feature>div:last-child>span {font-size:15px}

.protos-site.protos-v2 .v-journal-side {margin-top:10px}

.protos-site.protos-v2 .v-journal-side h3 {font-size:26px}

.protos-site.protos-v2 .v-journal-side p {font-size:14px}

.protos-site.protos-v2 .v-journal-side small {font-size:9px}

.protos-site.protos-v2 .v-member-content {display:block;padding:22px}

.protos-site.protos-v2 .v-member-menu {display:none}

.protos-site.protos-v2 .v-member-content>div:last-child>small {font-size:8px}

.protos-site.protos-v2 .v-member-content h3 {font-size:33px}

.protos-site.protos-v2 .v-member-license strong {font-size:13px}

.protos-site.protos-v2 .v-member-license small {font-size:10px}

.protos-site.protos-v2 .v-member-preview>.v-caption {font-size:10px}

.protos-site.protos-v2 .v-member-preview .v-window-bar {padding:15px;font-size:7px}

.protos-site.protos-v2 .v-member-layout {gap:50px}

.protos-site.protos-v2 .v-member-layout>div:last-child p {font-size:15px}

.protos-site.protos-v2 .v-faq-layout {display:block}

.protos-site.protos-v2 .v-faq {margin-top:32px}

.protos-site.protos-v2 .v-faq summary {font-size:18px}

.protos-site.protos-v2 .v-faq details>p {font-size:15px}

.protos-site.protos-v2 .v-final {padding:65px 0}

.protos-site.protos-v2 .v-final h2 {font-size:78px}

.protos-site.protos-v2 .v-final-star {font-size:180px;right:-15px;top:15px}

.protos-site.protos-v2 .v-final-row {gap:12px;margin-top:35px}

.protos-site.protos-v2 .v-final-row .v-btn {font-size:13px;gap:15px}

.protos-site.protos-v2 .v-final-row>p {font-size:15px}

.protos-site.protos-v2 .p-section {padding:60px 0}

.protos-site.protos-v2 .p-hero.compact h1 {font-size:43px}

.protos-site.protos-v2 .p-pagehead h1 {font-size:43px}

.protos-site.protos-v2 .p-footer-grid {gap:35px}

.protos-site.protos-v2 .p-footer a:not(.p-logo) {font-size:14px}
}
.protos-site.protos-v2.v-motion-ready [data-reveal] {translate:0 0;scale:1;transition:opacity .65s cubic-bezier(.2,.7,.2,1),translate .65s cubic-bezier(.2,.7,.2,1),scale .65s cubic-bezier(.2,.7,.2,1),clip-path .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}

.protos-site.protos-v2.v-motion-ready [data-reveal]:not(.is-revealed) {translate:0 32px}

.protos-site.protos-v2.v-motion-ready [data-reveal=mask]:not(.is-revealed) {translate:0 25px}

.protos-site.protos-v2.v-motion-ready [data-reveal=scale]:not(.is-revealed) {translate:0 15px;scale:.965}

.protos-site.protos-v2.v-motion-ready [data-reveal=left]:not(.is-revealed) {translate:-28px 0}

@media(max-width:650px){
.protos-site.protos-v2 .v-header .p-iconbutton {width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){
.protos-site.protos-v2 [data-reveal] {opacity:1!important;translate:none!important;scale:1!important;clip-path:none!important}

.protos-site.protos-v2 *,
.protos-site.protos-v2 *:before,
.protos-site.protos-v2 *:after {animation:none!important;transition:none!important;scroll-behavior:auto!important}

.protos-site.protos-v2 [data-parallax] {--px:0px!important;--py:0px!important}
}

/* SVG icon normalization */
.protos-site.protos-v2 .ps-svg-icon {display:inline-block;vertical-align:middle;flex-shrink:0}
.protos-site.protos-v2 .v-platform-rail i {display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-style:normal;margin-right:6px}
.protos-site.protos-v2 .v-platform-rail i svg {width:18px;height:18px;display:block}
.protos-site.protos-v2 .v-platform-grid i {display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:28px 0 18px;transition:transform .3s}
.protos-site.protos-v2 .v-platform-grid i svg {width:44px;height:44px;display:block}
.protos-site.protos-v2 .v-platform-grid .platform-facebook i {color:#1877f2}
.protos-site.protos-v2 .v-platform-grid .platform-tiktok i {color:#111111}
.protos-site.protos-v2 .v-platform-grid .platform-youtube i {color:#ff0000}
.protos-site.protos-v2 .v-platform-grid .platform-instagram i {color:#e4405f}
.protos-site.protos-v2 .v-platform-grid .platform-zalo i {color:#0068ff}
.protos-site.protos-v2 .v-float.v-social span {display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;background:#f1f5f9;color:var(--navy)}
.protos-site.protos-v2 .v-float.v-social span svg {width:15px;height:15px}
.protos-site.protos-v2 .pm-platform-sign {display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px}
.protos-site.protos-v2 .pm-platform-sign svg {width:20px;height:20px}
.protos-site.protos-v2 .v-platform-cta svg {width:15px;height:15px;display:inline-block;vertical-align:middle}

/* OTP Email Verification Form */
.protos-otp-row {display:flex;gap:8px;align-items:center;margin:12px 0 8px}
.protos-otp-row input {flex:1;padding:10px 14px;border:1px solid #cbd5e1;border-radius:6px;font-size:14px;letter-spacing:2px;font-weight:600;text-align:center}
.protos-otp-row input:focus {border-color:#185ee0;outline:none;box-shadow:0 0 0 2px rgba(24,94,224,.15)}
.protos-otp-row button {white-space:nowrap;padding:10px 16px;background:#185ee0;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}
.protos-otp-row button:disabled {background:#94a3b8;cursor:not-allowed}
.protos-otp-row button:hover:not(:disabled) {background:#1248b8}
.protos-otp-msg {font-size:12.5px;line-height:1.5;margin-bottom:10px;min-height:18px}
.protos-otp-msg.success {color:#16a34a;font-weight:500}
.protos-otp-msg.error {color:#dc2626;font-weight:500}
.protos-otp-msg.loading {color:#185ee0}

/* Hub Overview Grid Cards (Used across the 5 overview pages) */
.protos-hub-grid {display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px;margin:32px 0}
.protos-hub-card {display:flex;flex-direction:column;background:#0d1117;border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:24px;transition:transform .25s,box-shadow .25s,border-color .25s;text-decoration:none;color:inherit;position:relative}
.protos-hub-card:hover {transform:translateY(-4px);box-shadow:0 16px 36px -10px rgba(0,0,0,0.6);border-color:rgba(37,99,235,0.4)}
.protos-hub-card-icon {width:44px;height:44px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:rgba(37,99,235,0.12);color:#60a5fa;margin-bottom:16px;font-weight:700;font-size:15px;border:1px solid rgba(37,99,235,0.25)}
.protos-hub-card h3 {font-size:18px;font-weight:700;color:#ffffff;margin:0 0 8px;line-height:1.35}
.protos-hub-card p {font-size:13px;color:#94a3b8;line-height:1.6;margin:0 0 14px;flex-grow:1}
.protos-hub-card-tags {display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.protos-hub-card-tags span {font-size:11px;padding:3px 8px;border-radius:4px;background:rgba(255,255,255,0.05);color:#94a3b8;border:1px solid rgba(255,255,255,0.06);font-weight:500}
.protos-hub-card-cta {display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#38bdf8;margin-top:auto}
.protos-hub-card-cta svg {width:13px;height:13px;transition:transform .2s}
.protos-hub-card:hover .protos-hub-card-cta svg {transform:translate(3px,-3px)}



/* ==============================================================================
 * PROTOS AGENCY PRO MAX DESIGN SYSTEM (HYBRID DYNAMIC AESTHETIC)
 * Highest-tier UI/UX: Double-bezel architecture, haptic micro-interactions,
 * crisp typography, spatial rhythm, and responsive performance.
 * ============================================================================== */

/* CSS Variables & Tokens */
.protos-site.protos-v2 {
    --px-dark-bg: #ffffff;
    --px-dark-surface: #f8fafc;
    --px-dark-card: #ffffff;
    --px-dark-border: #e2e8f0;
    --px-dark-border-hover: rgba(0, 115, 252, 0.3);
    --px-dark-text: #0f172a;
    --px-dark-muted: #64748b;

    --px-light-bg: #f8fafc;
    --px-light-surface: #ffffff;
    --px-light-card: #ffffff;
    --px-light-border: rgba(15, 23, 42, 0.08);
    --px-light-border-hover: rgba(37, 99, 235, 0.25);
    --px-light-text: #0f172a;
    --px-light-muted: #475569;

    --px-blue: #2563eb;
    --px-blue-glow: rgba(37, 99, 235, 0.25);
    --px-emerald: #10b981;
    --px-emerald-glow: rgba(16, 185, 129, 0.2);
    --px-cyan: #06b6d4;

    --px-font-display: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --px-font-body: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, sans-serif;
    --px-ease: cubic-bezier(0.32, 0.72, 0, 1);
}

/* ==============================================================================
   1. GLOBAL CONTAINER & MACRO-SPACING
   ============================================================================== */
.px-container {
    width: min(1280px, calc(100% - 48px));
    margin-inline: auto;
}

@media (min-width: 1024px) {
    .px-container {
        width: min(1280px, calc(100% - 80px));
    }
}

.px-section-dark {
    background-color: var(--px-dark-bg);
    color: var(--px-dark-text);
    padding: clamp(70px, 8vw, 120px) 0;
    position: relative;
    overflow: hidden;
}

.px-section-light {
    background-color: var(--px-light-bg);
    color: var(--px-light-text);
    padding: clamp(70px, 8vw, 120px) 0;
    position: relative;
}

.px-ambient-glow {
    position: absolute;
    top: -20%;
    left: 50%;
    transform: translateX(-50%);
    width: 1000px;
    height: 600px;
    background: radial-gradient(50% 50% at 50% 50%, rgba(37, 99, 235, 0.15) 0%, rgba(16, 185, 129, 0.08) 50%, transparent 100%);
    pointer-events: none;
    z-index: 1;
}

/* ==============================================================================
   2. TYPOGRAPHY & EYEBROWS
   ============================================================================== */
.px-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 9999px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 24px;
}

.px-eyebrow.dark {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #e2e8f0;
}

.px-eyebrow.light {
    background: rgba(37, 99, 235, 0.08);
    border: 1px solid rgba(37, 99, 235, 0.15);
    color: var(--px-blue);
}

.px-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 10px #10b981;
    animation: px-pulse 2s infinite;
}

@keyframes px-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(0.85); }
}

.px-title-h1 {
    font-family: var(--px-font-display);
    font-size: clamp(34px, 4.6vw, 64px);
    line-height: 1.12;
    font-weight: 800;
    letter-spacing: -0.035em;
    margin-bottom: 24px;
}

.px-title-h2 {
    font-family: var(--px-font-display);
    font-size: clamp(28px, 3.4vw, 46px);
    line-height: 1.18;
    font-weight: 800;
    letter-spacing: -0.03em;
    margin-bottom: 18px;
}

.px-gradient-text {
    background: linear-gradient(135deg, #60a5fa 0%, #38bdf8 50%, #34d399 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.px-desc {
    font-size: clamp(15px, 1.2vw, 18px);
    line-height: 1.65;
    color: var(--px-dark-muted);
    max-width: 680px;
}

.px-section-light .px-desc {
    color: var(--px-light-muted);
}

/* ==============================================================================
   3. BUTTON-IN-BUTTON MAGNETIC CTAS
   ============================================================================== */
.px-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
    margin-top: 36px;
}

.px-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 10px 10px 10px 24px;
    border-radius: 9999px;
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s var(--px-ease);
    cursor: pointer;
}

.px-btn-primary {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 20px rgba(37, 99, 235, 0.35);
}

.px-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(37, 99, 235, 0.45);
    color: #ffffff !important;
}

.px-btn-secondary {
    background: rgba(255, 255, 255, 0.06);
    color: #f8fafc !important;
    border: 1px solid rgba(255, 255, 255, 0.12);
    padding: 13px 28px;
}

.px-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff !important;
    transform: translateY(-2px);
}

.px-btn-light-secondary {
    background: #ffffff;
    color: #0f172a !important;
    border: 1px solid rgba(15, 23, 42, 0.12);
    padding: 13px 28px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.px-btn-light-secondary:hover {
    border-color: var(--px-blue);
    color: var(--px-blue) !important;
    transform: translateY(-2px);
}

.px-btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    transition: transform 0.3s var(--px-ease);
}

.px-btn:hover .px-btn-icon {
    transform: translate(2px, -2px);
}

/* ==============================================================================
   4. DOUBLE-BEZEL HARDWARE CARDS (DOPPELRAND)
   ============================================================================== */
.px-bezel-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid var(--px-dark-border);
    border-radius: 28px;
    padding: 7px;
    transition: all 0.35s var(--px-ease);
}

.px-bezel-card:hover {
    border-color: var(--px-dark-border-hover);
    transform: translateY(-3px);
}

.px-bezel-inner {
    background: var(--px-dark-surface);
    border-radius: 21px;
    padding: clamp(24px, 3vw, 36px);
    box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.08);
    height: 100%;
    display: flex;
    flex-direction: column;
}

/* Light Double-Bezel */
.px-bezel-light {
    background: rgba(15, 23, 42, 0.02);
    border: 1px solid var(--px-light-border);
    border-radius: 28px;
    padding: 7px;
    transition: all 0.35s var(--px-ease);
}

.px-bezel-light:hover {
    border-color: var(--px-light-border-hover);
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}

.px-bezel-light .px-bezel-inner {
    background: #ffffff;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02), inset 0 1px 1px #ffffff;
}

/* ==============================================================================
   5. DEVICE STAGE & MOCKUP
   ============================================================================== */
.px-device-stage {
    margin-top: clamp(40px, 6vw, 70px);
    position: relative;
    z-index: 2;
}

.px-macbook-frame {
    background: #141721;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 20px 20px 0 0;
    padding: 12px 12px 0 12px;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.8), 0 0 40px rgba(37, 99, 235, 0.15);
    position: relative;
}

.px-macbook-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px 14px 12px;
}

.px-window-dots {
    display: flex;
    gap: 6px;
}

.px-window-dots span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
}

.px-window-dots span:nth-child(1) { background: #ff5f56; }
.px-window-dots span:nth-child(2) { background: #ffbd2e; }
.px-window-dots span:nth-child(3) { background: #27c93f; }

.px-browser-url {
    background: rgba(255, 255, 255, 0.06);
    border-radius: 6px;
    padding: 4px 14px;
    font-size: 11px;
    color: #94a3b8;
    font-family: monospace;
}

.px-screen-viewport {
    background: #090c15;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
    position: relative;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.px-macbook-base {
    height: 14px;
    background: linear-gradient(180deg, #272a38 0%, #151722 100%);
    border-radius: 0 0 16px 16px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-top: none;
    position: relative;
    margin-bottom: 20px;
}

.px-macbook-notch {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 5px;
    background: #090a10;
    border-radius: 0 0 6px 6px;
}

/* Floating Haptic Badges */
.px-floating-badge {
    position: absolute;
    background: rgba(14, 19, 31, 0.88);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 14px;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
    z-index: 10;
    font-size: 13px;
    font-weight: 600;
}

.px-floating-badge.badge-left {
    bottom: 40px;
    left: -20px;
}

.px-floating-badge.badge-right {
    top: 80px;
    right: -20px;
}

@media (max-width: 900px) {
    .px-floating-badge { display: none; }
}

/* ==============================================================================
   6. METRICS RAIL (SOCIAL PROOF)
   ============================================================================== */
.px-metrics-rail {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    padding: 40px 0;
    border-top: 1px solid var(--px-dark-border);
    border-bottom: 1px solid var(--px-dark-border);
    margin-top: 40px;
}

@media (min-width: 768px) {
    .px-metrics-rail {
        grid-template-columns: repeat(4, 1fr);
    }
}

.px-metric-item {
    text-align: left;
}

.px-metric-value {
    font-family: var(--px-font-display);
    font-size: clamp(32px, 3.5vw, 50px);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #ffffff;
    line-height: 1;
    margin-bottom: 8px;
}

.px-metric-label {
    font-size: 13px;
    color: var(--px-dark-muted);
    line-height: 1.45;
}

/* Partner Logos */
.px-partners-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 30px 0 0 0;
    opacity: 0.65;
}

.px-partner-logo {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: var(--px-dark-muted);
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ==============================================================================
   7. ASYMMETRICAL BENTO GRID
   ============================================================================== */
.px-bento-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 50px;
}

@media (min-width: 900px) {
    .px-bento-grid {
        grid-template-columns: repeat(12, 1fr);
    }
    .px-bento-col-8 { grid-column: span 8; }
    .px-bento-col-4 { grid-column: span 4; }
    .px-bento-col-6 { grid-column: span 6; }
    .px-bento-col-12 { grid-column: span 12; }
}

.px-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(37, 99, 235, 0.1);
    color: var(--px-blue);
    font-size: 22px;
    margin-bottom: 20px;
}

.px-card-title {
    font-family: var(--px-font-display);
    font-size: 21px;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 12px;
}

.px-card-desc {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--px-light-muted);
    margin-bottom: 20px;
}

.px-feature-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: auto;
    padding-top: 16px;
}

.px-tag {
    font-size: 11.5px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 6px;
    background: rgba(15, 23, 42, 0.04);
    color: #475569;
}

/* ==============================================================================
   8. COMPARISON MATRIX (WEBSITE GIÁ RẺ VS PROTOS AGENCY)
   ============================================================================== */
.px-vs-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 40px;
}

@media (min-width: 768px) {
    .px-vs-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.px-vs-card {
    border-radius: 20px;
    padding: 36px 30px;
    height: 100%;
}

.px-vs-card.bad {
    background: #ffffff;
    border: 1px solid rgba(239, 68, 68, 0.2);
}

.px-vs-card.good {
    background: linear-gradient(145deg, #0e1322 0%, #151d33 100%);
    border: 1px solid rgba(37, 99, 235, 0.35);
    color: #ffffff;
    box-shadow: 0 10px 40px rgba(37, 99, 235, 0.15);
}

.px-vs-list {
    list-style: none;
    padding: 0;
    margin: 24px 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.px-vs-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 14.5px;
    line-height: 1.5;
}

.px-vs-item.bad-item { color: #64748b; }
.px-vs-item.bad-item span.icon { color: #ef4444; font-weight: 800; }

.px-vs-item.good-item { color: #e2e8f0; }
.px-vs-item.good-item span.icon { color: #10b981; font-weight: 800; }

/* ==============================================================================
   9. PRICING PACKAGES (3 GÓI DỊCH VỤ MINH BẠCH)
   ============================================================================== */
.px-pricing-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 40px;
}

@media (min-width: 992px) {
    .px-pricing-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.px-price-card {
    background: #ffffff;
    border: 1px solid var(--px-light-border);
    border-radius: 24px;
    padding: 36px 28px;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.3s var(--px-ease);
}

.px-price-card:hover {
    border-color: var(--px-blue);
    transform: translateY(-4px);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.08);
}

.px-price-card.featured {
    background: #0c101c;
    border-color: rgba(37, 99, 235, 0.4);
    color: #ffffff;
    box-shadow: 0 12px 40px rgba(37, 99, 235, 0.2);
}

.px-badge-popular {
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, #2563eb, #10b981);
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 4px 14px;
    border-radius: 9999px;
}

.px-price-name {
    font-family: var(--px-font-display);
    font-size: 20px;
    font-weight: 800;
    margin-bottom: 6px;
}

.px-price-subtitle {
    font-size: 13px;
    color: var(--px-light-muted);
    margin-bottom: 24px;
}

.px-price-card.featured .px-price-subtitle {
    color: var(--px-dark-muted);
}

.px-feature-list {
    list-style: none;
    padding: 0;
    margin: 20px 0 32px 0;
    display: flex;
    flex-direction: column;
    gap: 13px;
    font-size: 14px;
}

.px-feature-list li {
    display: flex;
    align-items: center;
    gap: 10px;
}

.px-feature-list li svg,
.px-feature-list li .check-icon {
    color: #10b981;
    flex-shrink: 0;
}

/* ==============================================================================
   10. PROCESS STEPS (5 BƯỚC MINH BẠCH)
   ============================================================================== */
.px-steps-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 40px;
}

@media (min-width: 768px) {
    .px-steps-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

.px-step-card {
    background: #ffffff;
    border: 1px solid var(--px-light-border);
    border-radius: 20px;
    padding: 24px 20px;
    display: flex;
    flex-direction: column;
    transition: all 0.3s var(--px-ease);
}

.px-step-card:hover {
    border-color: var(--px-blue);
    transform: translateY(-3px);
}

.px-step-num {
    font-family: var(--px-font-display);
    font-size: 14px;
    font-weight: 800;
    color: var(--px-blue);
    margin-bottom: 12px;
}

.px-step-title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 8px;
    line-height: 1.35;
}

.px-step-desc {
    font-size: 13px;
    line-height: 1.5;
    color: var(--px-light-muted);
}

/* ==============================================================================
   11. FAQ ACCORDION
   ============================================================================== */
.px-faq-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 840px;
    margin: 40px auto 0 auto;
}

.px-faq-item {
    background: #ffffff;
    border: 1px solid var(--px-light-border);
    border-radius: 16px;
    overflow: hidden;
    transition: border-color 0.25s;
}

.px-faq-item:hover {
    border-color: rgba(37, 99, 235, 0.3);
}

.px-faq-summary {
    padding: 20px 24px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none;
    user-select: none;
}

.px-faq-summary::-webkit-details-marker { display: none; }

.px-faq-summary::after {
    content: '+';
    font-size: 20px;
    color: var(--px-blue);
    transition: transform 0.2s;
}

.px-faq-item[open] .px-faq-summary::after {
    transform: rotate(45deg);
}

.px-faq-body {
    padding: 0 24px 22px 24px;
    font-size: 14.5px;
    line-height: 1.65;
    color: var(--px-light-muted);
}

/* ==============================================================================
   12. FINAL CTA BANNER
   ============================================================================== */
.px-cta-banner {
    background: linear-gradient(145deg, #090c16 0%, #101626 100%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 32px;
    padding: clamp(48px, 6vw, 80px) clamp(24px, 4vw, 60px);
    text-align: center;
    position: relative;
    overflow: hidden;
    box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.7);
}

.px-cta-banner .px-ambient-glow {
    top: -50%;
}

/* ==============================================================================
   13. EXECUTIVE DARK-TECH AGENCY SYSTEM & OVERVIEW PAGES
   ============================================================================== */

/* Social Links & Badges (User Request 1, Item 4) */
.p-footer-social {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 18px;
}

.p-social-badge {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #94a3b8;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none;
}

.p-social-badge:hover {
    background: rgba(37, 99, 235, 0.2);
    border-color: #3b82f6;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}

.p-social-svg {
    display: block;
    width: 18px;
    height: 18px;
}

/* Footer Architecture — Executive Luxury Agency Standard */
.protos-site.protos-v2 .p-footer {
    background: #05070b !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    padding: clamp(55px, 6vw, 85px) 0 35px !important;
    color: #94a3b8;
    position: relative;
    overflow: hidden;
}

.protos-site.protos-v2 .p-footer-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.25fr;
    gap: clamp(28px, 4vw, 48px);
}

@media (max-width: 960px) {
    .protos-site.protos-v2 .p-footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 36px 28px;
    }
}

@media (max-width: 580px) {
    .protos-site.protos-v2 .p-footer-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

.protos-site.protos-v2 .p-footer .p-logo {
    font-size: 26px;
    font-weight: 800;
    color: #ffffff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    letter-spacing: -0.03em;
    margin-bottom: 14px;
}
.protos-site.protos-v2 .p-footer .p-logo img,
.ps-footer-logo-img {
    height: 42px;
    width: auto;
    max-width: 160px;
    object-fit: contain;
    display: block;
}

.protos-site.protos-v2 .p-footer .v-brand-dot {
    color: #38bdf8;
}

.protos-site.protos-v2 .p-footer-tagline {
    font-size: 13.5px;
    line-height: 1.7;
    color: #94a3b8;
    margin: 0 0 20px 0;
    max-width: 320px;
    word-break: break-word;
}

.protos-site.protos-v2 .p-footer-trust-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 22px;
}

.protos-site.protos-v2 .p-footer-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 700;
    color: #cbd5e1;
    letter-spacing: 0.02em;
}

.protos-site.protos-v2 .p-footer-pill-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #10b981;
}

.protos-site.protos-v2 .p-footer-hotline-card {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(37, 99, 235, 0.08);
    border: 1px solid rgba(37, 99, 235, 0.25);
    border-radius: 14px;
    padding: 10px 14px;
    text-decoration: none;
    transition: all 0.2s ease;
    max-width: 280px;
}

.protos-site.protos-v2 .p-footer-hotline-card:hover {
    background: rgba(37, 99, 235, 0.15);
    border-color: rgba(37, 99, 235, 0.45);
    transform: translateY(-1px);
}

.protos-site.protos-v2 .p-footer-hotline-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #2563eb;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.protos-site.protos-v2 .p-footer-hotline-label {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #38bdf8;
    font-weight: 700;
    margin: 0;
}

.protos-site.protos-v2 .p-footer-hotline-num {
    font-size: 15px;
    font-weight: 800;
    color: #ffffff;
    margin: 0;
}

.protos-site.protos-v2 .p-footer h3 {
    color: #ffffff;
    font-size: 12.5px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin: 0 0 20px 0;
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
}

.protos-site.protos-v2 .p-footer h3::after {
    content: '';
    display: block;
    height: 1px;
    flex: 1;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.12), transparent);
}

.protos-site.protos-v2 .p-footer-links {
    list-style: none;
    margin: 0;
    padding: 0;
}

.protos-site.protos-v2 .p-footer-links li {
    margin: 0 0 10px 0;
}

.protos-site.protos-v2 .p-footer-links a,
.protos-site.protos-v2 .p-footer a:not(.p-logo):not(.p-footer-hotline-card):not(.p-footer-cta-link):not(.p-social-badge) {
    color: #94a3b8;
    font-size: 13.5px;
    line-height: 1.6;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    transition: all 0.2s ease;
}

.protos-site.protos-v2 .p-footer a:hover:not(.p-logo):not(.p-footer-hotline-card):not(.p-social-badge) {
    color: #38bdf8;
    transform: translateX(3px);
}

.protos-site.protos-v2 .p-footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
    font-size: 13px;
    color: #94a3b8;
    line-height: 1.5;
}

.protos-site.protos-v2 .p-footer-contact-item svg {
    color: #38bdf8;
    flex-shrink: 0;
    margin-top: 3px;
}

.protos-site.protos-v2 .p-footer-cta-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    max-width: 260px;
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 999px;
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #ffffff !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 16px rgba(37, 99, 235, 0.3);
    margin: 16px 0 20px 0;
    transition: all 0.2s ease;
}

.protos-site.protos-v2 .p-footer-cta-link:hover {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(37, 99, 235, 0.5);
    color: #ffffff !important;
}

.protos-site.protos-v2 .p-footer-social {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 14px;
}

.protos-site.protos-v2 .p-footer .p-social-badge,
.protos-site.protos-v2 .p-footer-social .p-social-badge,
.protos-site.protos-v2 .p-social-badge,
.p-social-badge {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    border-radius: 10px !important;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #94a3b8 !important;
    text-decoration: none !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.protos-site.protos-v2 .p-footer .p-social-badge:hover,
.protos-site.protos-v2 .p-social-badge:hover,
.p-social-badge:hover {
    background: rgba(37, 99, 235, 0.25) !important;
    border-color: rgba(56, 189, 248, 0.6) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35) !important;
}

.protos-site.protos-v2 .p-footer .p-social-badge svg,
.protos-site.protos-v2 .p-social-badge svg,
.p-social-badge svg,
.p-social-svg {
    display: block !important;
    margin: 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    position: static !important;
    transform: none !important;
}

.px-breadcrumb,
.p-breadcrumb,
[class*="breadcrumb"],
.woocommerce-breadcrumb {
    display: none !important;
    height: 0 !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.protos-site.protos-v2 .p-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    margin-top: clamp(35px, 5vw, 55px);
    padding-top: 25px;
    font-size: 12.5px;
    color: #64748b;
    gap: 20px;
}

.protos-site.protos-v2 .ps-footer-policy {
    display: flex;
    align-items: center;
    gap: 20px;
}

.protos-site.protos-v2 .ps-footer-policy a {
    color: #64748b !important;
    font-size: 12px;
    text-decoration: none;
    transition: color 0.2s;
}

.protos-site.protos-v2 .ps-footer-policy a:hover {
    color: #38bdf8 !important;
}

.protos-site.protos-v2 .v-motion-toggle {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    padding: 5px 12px;
    color: #64748b;
    font-size: 11px;
    cursor: pointer;
    transition: all 0.2s;
}

.protos-site.protos-v2 .v-motion-toggle:hover {
    color: #cbd5e1;
    border-color: rgba(255, 255, 255, 0.2);
}

@media (max-width: 768px) {
    .protos-site.protos-v2 .p-footer-bottom {
        flex-direction: column !important;
        gap: 16px !important;
        text-align: center !important;
        align-items: center !important;
    }
    .protos-site.protos-v2 .ps-footer-policy {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 12px 18px !important;
    }
}

/* ==============================================================================
   14. MASTER HUB OVERVIEW PAGES (YÊU CẦU 5)
   ============================================================================== */
.protos-hub-hero {
    padding: 70px 0 50px;
    background: radial-gradient(circle at 50% 0%, rgba(37, 99, 235, 0.12) 0%, transparent 70%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    text-align: center;
    position: relative;
    overflow: hidden;
}

.protos-hub-hero-inner {
    max-width: 820px;
    margin: 0 auto;
}

.protos-hub-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    border-radius: 9999px;
    background: rgba(37, 99, 235, 0.12);
    border: 1px solid rgba(37, 99, 235, 0.3);
    color: #60a5fa;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.protos-hub-hero h1 {
    font-size: clamp(30px, 3.4vw, 48px);
    line-height: 1.15;
    letter-spacing: -0.03em;
    font-weight: 800;
    color: #ffffff;
    margin-bottom: 16px;
}

.protos-hub-hero p {
    font-size: 15px;
    line-height: 1.65;
    color: #94a3b8;
    max-width: 620px;
    margin: 0 auto 30px;
}

.protos-hub-stats-row {
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
    margin-top: 25px;
}

.protos-hub-stat {
    background: rgba(13, 17, 23, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 12px 24px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.protos-hub-stat strong {
    font-size: 20px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -0.02em;
}

.protos-hub-stat span {
    font-size: 12px;
    color: #64748b;
    font-weight: 500;
}

/* Hub Grid & Cards */
.protos-hub-section {
    padding: 70px 0;
    background: #ffffff;
}

.protos-hub-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
    gap: 24px;
    margin-top: 35px;
}

@media (max-width: 768px) {
    .protos-hub-grid {
        grid-template-columns: 1fr;
    }
}

.protos-hub-card {
    background: #0d1117;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 30px;
    position: relative;
    overflow: hidden;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.protos-hub-card:hover {
    border-color: rgba(37, 99, 235, 0.4);
    transform: translateY(-4px);
    box-shadow: 0 16px 36px -10px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.protos-hub-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.protos-hub-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(37, 99, 235, 0.12);
    border: 1px solid rgba(37, 99, 235, 0.25);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #60a5fa;
}

.protos-hub-card-tag {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 4px 10px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.05);
    color: #94a3b8;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.protos-hub-card-tag.hot {
    background: rgba(239, 68, 68, 0.12);
    color: #f87171;
    border-color: rgba(239, 68, 68, 0.25);
}

.protos-hub-card-tag.pro {
    background: rgba(16, 185, 129, 0.12);
    color: #34d399;
    border-color: rgba(16, 185, 129, 0.25);
}

.protos-hub-card h3 {
    font-size: 19px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 10px;
    letter-spacing: -0.02em;
}

.protos-hub-card p {
    font-size: 13.5px;
    line-height: 1.6;
    color: #94a3b8;
    margin-bottom: 20px;
    flex-grow: 1;
}

.protos-hub-card-features {
    list-style: none;
    margin: 0 0 20px;
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 16px;
}

.protos-hub-card-features li {
    font-size: 12.5px;
    color: #cbd5e1;
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.protos-hub-card-features li svg {
    color: #10b981;
    flex-shrink: 0;
}

.protos-hub-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.protos-hub-card-price {
    font-size: 16px;
    font-weight: 800;
    color: #ffffff;
}

.protos-hub-card-price small {
    font-size: 11px;
    color: #64748b;
    font-weight: 400;
}

.protos-hub-card-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 700;
    color: #60a5fa;
    transition: transform 0.2s;
}

.protos-hub-card:hover .protos-hub-card-btn {
    transform: translateX(4px);
    color: #ffffff;
}

/* ==============================================================================
   PROTOS UNIFIED WHITE CANVAS WITH BLUE ACCENTS ("NỀN TRẮNG TONE XANH")
   Comprehensive styling across all Pages, Hubs, and Components
   ============================================================================== */
body.protos-content-page,
body.protos-content-page #wrapper,
body.protos-content-page #main,
body.protos-content-page #content,
.protos-full-page,
#protos-app.protos-site,
#protos-main {
  background-color: #ffffff !important;
  color: #0f172a !important;
}

/* Sections */
.px-section {
  background-color: #ffffff !important;
  border-top: 1px solid #e2e8f0 !important;
  color: #0f172a !important;
}
.px-section.px-bg-soft,
.px-section:nth-of-type(even) {
  background-color: #f8fafc !important;
}

/* Hero Section */
.px-hero {
  background: radial-gradient(circle at 50% 0%, rgba(0, 115, 252, 0.08) 0%, rgba(248, 250, 252, 0) 70%), #ffffff !important;
}

/* Headings across all pages & subpages */
.px-hero-title,
.px-section-title,
.px-card-title,
.px-item-title,
.px-step-title,
.px-matrix-col-header,
.px-ribbon-num,
.px-train-card h3,
.px-train-title,
.px-service-title,
.px-tool-title,
.px-resource-title,
.px-project-title,
.px-pricing-title,
.px-feature-card h3,
.px-feature-title,
.px-bento-title,
.px-tech-col-title,
.px-faq-q,
.px-curriculum-header h4,
.px-module-title,
.px-cta-title,
.px-hub-card-title,
.px-section h1,
.px-section h2,
.px-section h3,
.px-section h4,
.px-hero h1,
.px-hero h2,
.px-hero h3,
.px-hero-header h1,
.px-hero-header h2,
.v-section h2,
.p-section h1,
.p-section h2,
.p-page-hero h1 {
  color: #01234e !important;
}

/* Descriptions & text across all pages */
.px-hero-desc,
.px-section-desc,
.px-card-desc,
.px-item-desc,
.px-step-desc,
.px-ribbon-desc,
.px-train-desc,
.px-service-desc,
.px-tool-desc,
.px-resource-desc,
.px-project-desc,
.px-train-card p,
.px-feature-card p,
.px-bento-desc,
.px-faq-a,
.px-hub-card-desc,
.px-curriculum-desc,
.v-section p,
.p-section p {
  color: #475569 !important;
}

/* Eyebrows */
.px-eyebrow,
.p-eyebrow {
  background: #eff6ff !important;
  border: 1px solid #bfdbfe !important;
  color: #0073fc !important;
}

/* Page Hero on Subpages */
.p-page-hero {
  background: #ffffff !important;
  border-bottom: 1px solid #e2e8f0 !important;
  padding: 40px 0 !important;
}

/* Cards across Subpages */
.px-service-card,
.px-train-card,
.px-tool-card,
.px-resource-card,
.px-bento-card,
.px-matrix-card,
.px-pricing-card,
.px-project-card,
.px-case-card,
.px-step-card,
.px-faq-item,
.px-feature-card,
.px-item-card,
.px-card,
.px-curriculum-card,
.px-stat-card,
.px-module-card,
.px-testimonial-card,
.protos-hub-card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 4px 18px rgba(1, 35, 78, 0.04) !important;
  color: #0f172a !important;
}

.px-service-card:hover,
.px-train-card:hover,
.px-tool-card:hover,
.px-resource-card:hover,
.px-bento-card:hover,
.px-feature-card:hover,
.protos-hub-card:hover {
  border-color: #93c5fd !important;
  box-shadow: 0 10px 30px rgba(0, 115, 252, 0.1) !important;
}

/* Ribbons & Dividers */
.px-metric-ribbon {
  border-top: 1px solid #e2e8f0 !important;
}
.px-ribbon-num span {
  color: #0073fc !important;
}

/* Gradient Text on Light Canvas */
.px-gradient-text,
.px-gradient-text-train {
  background: linear-gradient(135deg, #01234e 30%, #0073fc 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
}

/* Header & Footer Brand Logos */
.ps-header-logo-img {
  height: 38px;
  width: auto;
  display: block;
  object-fit: contain;
  transition: transform 0.2s ease;
}
.ps-header-logo-img:hover {
  transform: scale(1.02);
}
.ps-footer-logo-img {
  height: 42px;
  width: auto;
  display: block;
  object-fit: contain;
}

