:root{
  --sf:'Space Grotesk',sans-serif;
  --bf:'Inter',sans-serif;
  --deep-sea:#0a1628;
  --purple:#8b5cf6;
  --blue:#00adff;
  --mint:#00d9c0;
  --white:#ffffff;
  --gray-300:#d1d5db;
  --gray-400:#9ca3af;
  --gray-500:#6b7280;
  --grad-brand:linear-gradient(90deg,#8b5cf6 0%,#00adff 50%,#00d9c0 100%);
  --grad-stat:linear-gradient(135deg,#8b5cf6 0%,#8b5cf6 30%,#00adff 60%,#00d9c0 100%);
  /* HubSpot form dark theme (Cross-Page Spec §8.1) */
  --hsf-global__font-family:'Inter',sans-serif;
  --hsf-global__font-size:14px;
  --hsf-global__color:#d1d5db;
  --hsf-global-error__color:#f87171;
  --hsf-background__background-color:transparent;
  --hsf-background__border-color:transparent;
  --hsf-background__border-radius:0px;
  --hsf-background__padding:0px;
  --hsf-field-input__background-color:rgba(255,255,255,0.1);
  --hsf-field-input__border-color:rgba(255,255,255,0.2);
  --hsf-field-input__border-radius:8px;
  --hsf-field-input__color:#ffffff;
  --hsf-field-input__font-size:16px;
  --hsf-field-input__placeholder-color:#9ca3af;
  --hsf-field-label__color:#d1d5db;
  --hsf-field-label__font-size:14px;
  --hsf-button__background-color:rgba(139,92,246,0.8);
  --hsf-button__color:#ffffff;
  --hsf-button__border-color:rgba(139,92,246,0.5);
  --hsf-button__border-radius:8px;
  --hsf-button__font-family:'Inter',sans-serif;
  --hsf-button__font-size:14px;
  --hsf-button__font-weight:500;
  --hsf-button--hover__background-color:#8b5cf6;
  --hsf-button--hover__color:#ffffff;
  --hsf-button--hover__border-color:#8b5cf6;
  --hsf-legal-consent__color:#9ca3af;
  --hsf-legal-consent__font-size:12px;
  --hsf-rich-text__color:#9ca3af;
  --hsf-rich-text__font-size:12px;
  --hsf-row__vertical-spacing:16px;
  --hsf-module__vertical-spacing:12px;
}
a{
    text-decoration:none !important;
}
/* ============================================================
   TAILWIND UTILITY CLASSES (Cross-Page Spec §0.2, §0.3)
   ============================================================ */
.text-5xl{font-size:3rem;line-height:1}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-base{font-size:1rem;line-height:1.5rem}
.text-sm{font-size:0.875rem;line-height:1.25rem}
.text-xs{font-size:0.75rem;line-height:1rem}
.font-bold{font-weight:700}
.font-semibold{font-weight:600}
.font-medium{font-weight:500}
.text-white{color:#fff}
.text-gray-300{color:#d1d5db}
.text-gray-400{color:#9ca3af}
.leading-relaxed{line-height:1.625}
.mb-1{margin-bottom:0.25rem}
.mb-2{margin-bottom:0.5rem}
.mb-3{margin-bottom:0.75rem}
.mb-4{margin-bottom:1rem}
.mb-6{margin-bottom:1.5rem}
.mb-8{margin-bottom:2rem}
.mb-12{margin-bottom:3rem}
.mb-16{margin-bottom:4rem}
.mt-2{margin-top:0.5rem}
.mt-8{margin-top:2rem}
.mt-10{margin-top:2.5rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.p-6{padding:1.5rem}
.p-5{padding:1.25rem}
.p-10{padding:2.5rem}
.p-px{padding:1px}
.pt-20{padding-top:5rem}
.pb-8{padding-bottom:2rem}
.pb-12{padding-bottom:3rem}
.gap-4{gap:1rem}
.gap-3{gap:0.75rem}
.gap-2{gap:0.5rem}
.gap-1{gap:0.25rem}
.text-center{text-align:center}
.relative{position:relative}
.absolute{position:absolute}
.z-10{z-index:10}
.z-1{z-index:1}
.flex{display:flex}
.flex-col{flex-direction:column}
.flex-wrap{flex-wrap:wrap}
.flex-grow{flex-grow:1}
.items-center{align-items:center}
.items-start{align-items:flex-start}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.inline-flex{display:inline-flex}
.inline-block{display:inline-block}
.w-full{width:100%}
.min-h-screen{min-height:100vh}
.max-w-7xl{max-width:80rem;margin-left:auto;margin-right:auto}
.max-w-4xl{max-width:56rem;margin-left:auto;margin-right:auto}
.max-w-3xl{max-width:48rem;margin-left:auto;margin-right:auto}
.rounded-2xl{border-radius:1rem}
.rounded-xl{border-radius:0.75rem}
.rounded-lg{border-radius:0.5rem}
.rounded-full{border-radius:9999px}
.overflow-hidden{overflow:hidden}
.pointer-events-none{pointer-events:none}
.space-y-2>*+*{margin-top:0.5rem}

/* Responsive helpers */
@media(min-width:768px){
  .md\:text-6xl{font-size:3.75rem;line-height:1}
  .md\:text-5xl{font-size:3rem;line-height:1}
  .md\:text-4xl{font-size:2.25rem;line-height:2.5rem}
  .md\:text-3xl{font-size:1.875rem;line-height:2.25rem}
  .md\:text-2xl{font-size:1.5rem;line-height:2rem}
  .hidden.md\:block{display:none}
}

/* ============================================================
   GRADIENT TEXT (Cross-Page Spec §2)
   ============================================================ */
.grad-text{
  color:#8b5cf6; /* fallback */
  background:linear-gradient(90deg,#8b5cf6,#00adff,#00d9c0);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.grad-text-stat{
  color:#8b5cf6;
  background:linear-gradient(135deg,#8b5cf6 0%,#8b5cf6 30%,#00adff 60%,#00d9c0 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
  filter:drop-shadow(0 0 12px rgba(139,92,246,0.6)) drop-shadow(0 0 24px rgba(139,92,246,0.4));
}

/* ============================================================
   FOCUS STATES (Cross-Page Spec §9)
   ============================================================ */
.focus-ring:focus{outline:2px solid #8b5cf6;outline-offset:2px}
.focus-ring:focus:not(:focus-visible){outline:none}
.focus-ring:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px;border-radius:4px}

/* ============================================================
   SKIP LINK
   ============================================================ */
.skip-link{position:absolute;top:-40px;left:0;background:#8b5cf6;color:white;padding:8px 16px;z-index:100;border-radius:0 0 8px 0;font-family:var(--bf)}
.skip-link:focus{top:0}

/* ============================================================
   GLASSMORPHIC CARD (System of Record §5.2)
   ============================================================ */
.glass{
  background:rgba(255,255,255,0.05);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,0.1);
  border-radius:16px;
  padding:24px;
  box-shadow:0 8px 32px rgba(0,0,0,0.3);
  transition:all 0.5s cubic-bezier(0.4,0,0.2,1);
  position:relative;
  overflow:hidden;
}
.glass:hover{
  background:rgba(255,255,255,0.07);
  backdrop-filter:blur(24px) saturate(1.1);
  -webkit-backdrop-filter:blur(24px) saturate(1.1);
  border-color:rgba(139,92,246,0.2);
  box-shadow:0 8px 32px rgba(0,0,0,0.35),0 0 20px rgba(139,92,246,0.08);
  transform:translateY(-2px);
}
.glass-inner-glow{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(139,92,246,0.08) 0%,transparent 60%);
  opacity:0;transition:opacity 0.5s;pointer-events:none;
}
.glass:hover .glass-inner-glow{opacity:1}
.glass img{padding:1rem 0}

/* ============================================================
   PRIMARY BUTTON (System of Record §5.1)
   ============================================================ */
.btn-primary{
  position:relative;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 24px;
  border-radius:8px;
  font-family:var(--bf);
  font-size:0.875rem;
  font-weight:500;
  color:#fff;
  background:rgba(139,92,246,0.8);
  border:1px solid rgba(139,92,246,0.5);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 4px 16px rgba(0,0,0,0.2);
  transition:all 0.3s;
  cursor:pointer;
  text-decoration:none;
}
.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 32px rgba(139,92,246,0.3);
}
.btn-primary .btn-fill{
  position:absolute;inset:0;
  background:linear-gradient(90deg,#8b5cf6,#00adff);
  transform:translateX(-100%);
  transition:transform 0.5s;
}
.btn-primary:hover .btn-fill{transform:translateX(0)}
.btn-primary .btn-text,
.btn-primary .btn-arrow{position:relative;z-index:1}
.btn-primary .btn-arrow{transition:transform 0.3s}
.btn-primary:hover .btn-arrow{transform:translateX(4px)}

/* ============================================================
   SECONDARY BUTTON (Cross-Page Spec §0.10)
   stroke-dasharray: 1000 (NOT 500)
   overflow: visible on button + SVG
   unique gradient IDs per button
   ============================================================ */
.btn-secondary{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 24px;
  border-radius:8px;
  font-family:var(--bf);
  font-size:0.875rem;
  font-weight:500;
  color:#fff;
  background:rgba(255,255,255,0.05);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  overflow:visible;
  transition:all 0.3s;
  cursor:pointer;
  border:none;
  text-decoration:none;
}
.btn-secondary:hover{
  background:rgba(255,255,255,0.1);
  transform:translateY(-2px);
}
.btn-border-static{
  position:absolute;inset:0;border-radius:8px;
  border:1px solid rgba(255,255,255,0.2);
  transition:opacity 0.3s;
  pointer-events:none;
}
.btn-secondary:hover .btn-border-static{opacity:0}
.border-svg{
  position:absolute;inset:0;width:100%;height:100%;
  overflow:visible;
  pointer-events:none;
}
.border-svg rect{
  stroke-dasharray:1000;
  stroke-dashoffset:1000;
  transition:stroke-dashoffset 0.6s ease-out;
}
.btn-secondary:hover .border-svg rect{stroke-dashoffset:0}
.btn-glow{
  position:absolute;inset:0;border-radius:8px;
  box-shadow:0 0 20px rgba(139,92,246,0.3);
  opacity:0;transition:opacity 0.3s;
  pointer-events:none;
}
.btn-secondary:hover .btn-glow{opacity:1}
.btn-secondary .btn-text,
.btn-secondary .btn-arrow{position:relative;z-index:1}
.btn-secondary .btn-arrow{transition:transform 0.3s}
.btn-secondary:hover .btn-arrow{transform:translateX(4px)}

/* ============================================================
   MISSION + VALUES — asymmetric editorial layout
   ============================================================ */
@property --mission-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes mission-rotate{to{--mission-angle:360deg}}
.mv-grid{
  display:grid;
  grid-template-columns:2fr 3fr;
  gap:3rem;
  align-items:center;
}
@media(max-width:900px){.mv-grid{grid-template-columns:1fr}}

/* Mission column — gradient border card */
.mission-border{
  position:relative;border-radius:1rem;padding:2px;
  background:conic-gradient(from var(--mission-angle),
    rgba(139,92,246,0.7),rgba(0,173,255,0.5),rgba(0,217,192,0.7),
    rgba(0,173,255,0.5),rgba(139,92,246,0.7));
  animation:mission-rotate 8s linear infinite;
}
.mission-border::before{
  content:'';position:absolute;inset:-4px;border-radius:calc(1rem + 4px);
  background:conic-gradient(from var(--mission-angle),
    rgba(139,92,246,0.15),rgba(0,173,255,0.1),rgba(0,217,192,0.15),
    rgba(0,173,255,0.1),rgba(139,92,246,0.15));
  animation:mission-rotate 8s linear infinite;
  filter:blur(16px);z-index:-1;
}
.mission-inner{
  border-radius:calc(1rem - 2px);
  background:linear-gradient(rgba(255,255,255,0.05),rgba(255,255,255,0.05)),#0a1628;
  padding:2.5rem 2rem;
  position:relative;overflow:hidden;
  height:100%;
}
.mission-inner::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(139,92,246,0.06) 0%,transparent 60%);
  pointer-events:none;
}
.mission-inner .mission-content{position:relative;z-index:1}
.mission-img{
  width:100%;max-height:220px;object-fit:contain;
  margin-bottom:1.5rem;padding:0 !important;
}

/* Values column — stacked rows */
.values-stack{display:flex;flex-direction:column;gap:1rem}
.value-row{
  display:flex;
  align-items:flex-start;
  gap:1.25rem;
  padding:1.75rem 1.5rem;
  padding-left:calc(1.5rem + 3px);
  border-radius:0.75rem;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  transition:all 0.5s cubic-bezier(0.4,0,0.2,1);
  position:relative;
  overflow:hidden;
}
.value-row::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,#8b5cf6,#00adff,#00d9c0);
  opacity:0;transition:opacity 0.4s;
  border-radius:3px 0 0 3px;
}
.value-row::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(139,92,246,0.08) 0%,transparent 60%);
  opacity:0;transition:opacity 0.5s;pointer-events:none;
}
.value-row:hover::before{opacity:1}
.value-row:hover::after{opacity:1}
.value-row:hover{
  background:rgba(255,255,255,0.07);
  border-color:rgba(139,92,246,0.2);
  box-shadow:0 8px 32px rgba(0,0,0,0.35),0 0 20px rgba(139,92,246,0.08);
  transform:translateX(4px);
}
.value-row__icon{
  flex-shrink:0;
  width:3.5rem;height:3.5rem;
  border-radius:0.75rem;
  background:linear-gradient(135deg,rgba(139,92,246,0.15),rgba(0,173,255,0.15));
  display:flex;align-items:center;justify-content:center;
  transition:box-shadow 0.4s,background 0.4s;
}
.value-row:hover .value-row__icon{
  background:linear-gradient(135deg,rgba(139,92,246,0.25),rgba(0,173,255,0.25));
  box-shadow:0 0 16px rgba(139,92,246,0.3),0 0 32px rgba(0,173,255,0.15);
}
.value-row__icon .icon-mask{
  width:2rem !important;height:2rem !important;
  filter:drop-shadow(0 0 8px rgba(139,92,246,0.3));
}

/* ============================================================
   SECTION GRIDS
   ============================================================ */
   .hero-chevron {
    position: absolute;
    bottom: 2.5rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    color: var(--gray-400);
    text-decoration: none;
    padding: 0.5rem 1rem;
    min-height: 44px;
    transition: color 0.3s;
    animation: chevron-float 2.5s ease-in-out infinite;
    background: transparent;
    border: 0;
}
.hero-chevron:hover { color: #ffffff; }
.hero-chevron-text {
  font-family: var(--sf); font-size: 0.8125rem; font-weight: 500;
  letter-spacing: 0.05em;
}
@keyframes chevron-float {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(6px); }
}
.scroll-chevron-wrap { animation: chevronBounce 2s ease-in-out infinite; }
.scroll-chevron-btn {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  margin: 0 auto; background: none; border: none; cursor: pointer;
  padding-bottom: 2rem; transition: opacity 0.3s;
}
.scroll-chevron-btn.hidden { opacity: 0; pointer-events: none; }
.hero-grid{
  display:grid;
  grid-template-columns:2fr 3fr;
  gap:3rem;
  align-items:center;
}
@media(max-width:768px){
  .hero-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero-chevron { display: none; }
}
  
.neurogogy-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:3rem;
  align-items:center;
}
.commitments-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2rem;
}
.products-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.5rem;
}

/* ============================================================
   RESPONSIVE BREAKPOINTS (Cross-Page Spec §10)
   ============================================================ */
@media(min-width:1200px){.px-6{padding-left:2.5rem;padding-right:2.5rem}}
@media(max-width:900px){
  .commitments-grid{grid-template-columns:1fr}
  .products-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .neurogogy-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .text-5xl{font-size:2.25rem;line-height:2.5rem}
}
@media(max-width:500px){
  .stats-grid{grid-template-columns:1fr}
  .products-grid{grid-template-columns:1fr}
}

/* ============================================================
   PRODUCT CARDS
   ============================================================ */
.product-card{
  border-radius:0.75rem;
  padding:1.75rem 1.5rem;
  display:flex;
  flex-direction:column;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  transition:all 0.5s cubic-bezier(0.4,0,0.2,1);
  position:relative;
  overflow:hidden;
  height:100%;
}
.product-card:hover{
  background:rgba(255,255,255,0.07);
  border-color:var(--card-border,rgba(139,92,246,0.2));
  box-shadow:0 8px 32px rgba(0,0,0,0.35),0 0 20px var(--card-glow,rgba(139,92,246,0.08));
  transform:translateY(-2px);
}
.product-card .card-glow{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,var(--card-glow,rgba(139,92,246,0.08)) 0%,transparent 60%);
  opacity:0;transition:opacity 0.5s;pointer-events:none;
}
.product-card:hover .card-glow{opacity:1}
.product-card .card-content{position:relative;z-index:1;display:flex;flex-direction:column;height:100%}

/* Product icon containers (Cross-Page Spec §3.2 — 3rem standalone for concept cards) */
.product-icon{width:40px;height:40px;margin-bottom:1rem}
.product-link{transition:all 0.3s;text-decoration:none !important}
.product-link .link-label{transition:text-decoration 0.3s}
.product-link:hover .link-label{text-decoration:underline}
.product-link span{display:inline-block;transition:transform 0.3s}
.product-link:hover .link-arrow{transform:translateX(4px)}

/* ============================================================
   COMMITMENT CARDS
   ============================================================ */
.commitment-card{
  padding:1.75rem 1.5rem;border-radius:0.75rem;text-align:center;
  display:flex;flex-direction:column;align-items:center;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.08);
  transition:all 0.5s cubic-bezier(0.4,0,0.2,1);
  position:relative;
  overflow:hidden;
}
.commitment-card:hover{
  background:rgba(255,255,255,0.07);
  border-color:rgba(139,92,246,0.2);
  box-shadow:0 8px 32px rgba(0,0,0,0.35),0 0 20px rgba(139,92,246,0.08);
  transform:translateY(-2px);
}
.commitment-card .card-glow{
  position:absolute;inset:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(139,92,246,0.08) 0%,transparent 60%);
  opacity:0;transition:opacity 0.5s;pointer-events:none;
}
.commitment-card:hover .card-glow{opacity:1}

/* ============================================================
   TIMELINE
   ============================================================ */
.timeline-link{color:#00adff;text-decoration:underline}
.timeline-link:focus{outline:2px solid #8b5cf6;outline-offset:2px;border-radius:2px}
.timeline-link:hover{color:#00d9c0}
.timeline-dot{
  width:16px;height:16px;border-radius:50%;flex-shrink:0;
  background:rgba(139,92,246,0.5);
  transition:all 0.3s;position:relative;z-index:1;
}
.timeline-item:hover .timeline-dot{
  background:linear-gradient(135deg,#8b5cf6,#00adff);
  box-shadow:0 0 12px rgba(139,92,246,0.6);
}
.timeline-ring{
  position:absolute;inset:-2px;border-radius:50%;
  border:1.5px solid rgba(139,92,246,0.5);
  opacity:0;transform:scale(1);
  transition:all 0.4s ease-out;
}
.timeline-item:hover .timeline-ring{opacity:1;transform:scale(1.5)}
.timeline-line{
  width:2px;flex-grow:1;min-height:4rem;margin-top:0.5rem;
  background:linear-gradient(180deg,rgba(139,92,246,0.3) 0%,rgba(0,173,255,0.3) 50%,rgba(0,217,192,0.3) 100%);
}
.timeline-year{
  font-family:var(--sf);font-weight:700;font-size:0.875rem;
  color:#8b5cf6;
  background:linear-gradient(90deg,#8b5cf6,#00adff);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
}
.timeline-content{
  color:#d1d5db;font-size:0.875rem;margin-top:0.25rem;
  transition:color 0.3s;line-height:1.25rem;
}
.timeline-item:hover .timeline-content{color:#e5e7eb}

/* ============================================================
   SUITE BORDER ANIMATION
   ============================================================ */
@keyframes travelBorder{
  0%{left:0%;top:0}25%{left:100%;top:0}
  50%{left:100%;top:100%}75%{left:0%;top:100%}100%{left:0%;top:0}
}
.suite-wrapper{
  position:relative;border-radius:1.5rem;
  padding:1.5rem;
  background:rgba(10,22,40,0.95);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
@media(min-width:768px){.suite-wrapper{padding:2rem}}

/* ============================================================
   ICON CSS MASK GRADIENT (Cross-Page Spec §3.1)
   ============================================================ */
.icon-mask{
  display:inline-block;
  background:linear-gradient(135deg,#8b5cf6,#00adff,#00d9c0);
  -webkit-mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-size:contain;
  mask-repeat:no-repeat;
  mask-position:center;
}

/* ============================================================
   REDUCED MOTION (Cross-Page Spec §9)
   ============================================================ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
  }
}