/* hvdaccel.com v16 - fonts + base styles from the approved Direction A design.
   Original gold accents; page backgrounds shifted to plum-black.
   Layout/effects live inline + in js/main.js. */
/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/instrument-serif-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/instrument-serif-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/instrument-serif-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/instrument-serif-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/space-grotesk-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/space-grotesk-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/space-grotesk-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/space-grotesk-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/space-grotesk-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/space-grotesk-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/space-grotesk-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/space-grotesk-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/space-grotesk-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/space-grotesk-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/space-grotesk-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/space-grotesk-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


html{scroll-behavior:smooth}
body{margin:0;background:#190b16;color:#f2ede6;font-family:'Space Grotesk',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
::selection{background:rgba(217,142,74,.35)}
a{color:inherit}
@keyframes heroIn{from{opacity:0;transform:translateY(46px)}to{opacity:1;transform:none}}
@keyframes drift{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-47%,-55%) scale(1.1)}}
@keyframes blink{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes scrollcue{0%{transform:translateY(0);opacity:1}70%{transform:translateY(14px);opacity:0}100%{transform:translateY(0);opacity:0}}

.hv1:hover{color:#e09a55 !important}
.hv2:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 24px rgba(178,72,150,.6) !important}
.hv3:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 32px rgba(178,72,150,.65) !important;transform:translateY(-2px) !important}
.hv4:hover{border-color:#e09a55 !important}
.hv5:hover{background:#2a1124 !important}
.hv6:hover{border-color:rgba(224,154,85,.5) !important}
.hv7:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 28px rgba(178,72,150,.6) !important}
.hv8:hover{border-color:rgba(224,154,85,.5) !important;transform:translateY(-4px) !important}
.hv9:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 40px rgba(178,72,150,.7) !important;transform:translateY(-2px) !important}

/* v31 shared navigation system. Commercial pages use one global taxonomy;
   Academy and Build retain their page-level destinations in a secondary bar. */
.site-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 80;
  min-height: 74px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 4vw;
  backdrop-filter: blur(14px);
  background: rgba(25,11,22,.72);
  border-bottom: 1px solid rgba(242,237,230,.07);
}
.site-nav-brand {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
  color: inherit;
  text-decoration: none;
}
.site-nav-logo { display: block; width: auto; height: 30px; flex: 0 0 auto; }
.site-nav-divider { width: 1px; height: 20px; flex: 0 0 auto; background: rgba(224,154,85,.5); }
.site-nav-name {
  overflow: hidden;
  color: rgba(242,237,230,.78);
  font: 400 13px/1 'Space Grotesk',sans-serif;
  letter-spacing: .18em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.site-nav-links { display: flex; align-items: center; gap: 28px; }
.site-nav-link {
  color: rgba(242,237,230,.65);
  font: 400 12.5px/1 'Space Grotesk',sans-serif;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color .25s ease;
}
.site-nav-link:hover,
.site-nav-link:focus-visible,
.site-nav-link[aria-current="page"] { color: #e09a55; }
.site-nav-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 37px;
  box-sizing: border-box;
  padding: 11px 20px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(180deg,#9a3481,#80276b);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18);
  font: 500 12.5px/1 'Space Grotesk',sans-serif;
  letter-spacing: .12em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: box-shadow .3s ease,transform .3s ease;
}
.site-nav-button:hover,
.site-nav-button:focus-visible { box-shadow: inset 0 1px 0 rgba(255,255,255,.18),0 0 32px rgba(178,72,150,.65); transform: translateY(-1px); }
.page-subnav {
  position: fixed;
  top: 74px;
  left: 0;
  right: 0;
  z-index: 70;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  min-height: 42px;
  box-sizing: border-box;
  padding: 10px 5vw;
  overflow-x: auto;
  background: rgba(25,11,22,.9);
  border-bottom: 1px solid rgba(224,154,85,.16);
  scrollbar-width: none;
}
.page-subnav::-webkit-scrollbar { display: none; }
.page-subnav a {
  color: rgba(242,237,230,.58);
  font: 400 11px/1 'Space Grotesk',sans-serif;
  letter-spacing: .11em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
.page-subnav a:hover,
.page-subnav a:focus-visible { color: #e09a55; }
[id] { scroll-margin-top: 92px; }
.has-page-subnav [id] { scroll-margin-top: 136px; }

@media (max-width: 1040px) {
  .site-nav-optional { display: none; }
}

/* Mobile-only guards; desktop rendering is untouched. */
@media (max-width: 760px) {
  .nav-tl { display: none !important; }
  .nav-sub { display: none !important; }
  .site-nav { min-height: 64px; padding: 14px 4vw; }
  .site-nav-divider,
  .site-nav-name { display: none; }
  .site-nav-links { gap: 14px; }
  .site-nav-link { font-size: 10.5px; letter-spacing: .09em; }
  .site-nav-button { min-height: 34px; padding: 10px 14px; font-size: 10.5px; letter-spacing: .09em; }
  .page-subnav { top: 64px; justify-content: flex-start; gap: 24px; min-height: 40px; padding: 10px 5vw; }
  .page-subnav a { font-size: 10px; }
  .has-page-subnav [id] { scroll-margin-top: 118px; }
  [data-pl-flow] { flex-direction: column !important; align-items: stretch !important; }
  [data-pl-flow] [data-pl-link] { flex: 0 0 26px !important; width: 1px !important; height: 26px !important; margin: 0 auto !important; }
  [data-pl-flow] [data-pl-node] { min-width: 0 !important; padding: 14px 18px !important; }
  [data-th-grid] { grid-template-columns: repeat(2, 1fr) !important; gap: 18px !important; }
  /* Un-pin the scroll scenes on small screens: pinned 100vh frames clip content
     that is taller than the viewport. Desktop keeps the pinned behavior. */
  [data-scene] { height: auto !important; overflow-x: clip !important; }
  [data-scene] > div { position: static !important; height: auto !important; overflow-x: clip !important; overflow-y: visible !important; padding-top: 110px !important; padding-bottom: 70px !important; }
}
@media (max-width: 390px) {
  .site-nav-links { gap: 10px; }
  .site-nav-link { font-size: 10px; }
  .site-nav-button { padding-inline: 11px; font-size: 10px; }
}
.skip-link { position: absolute; left: -9999px; top: 0; background: #e09a55; color: #190b16; padding: 10px 18px; z-index: 200; }
.skip-link:focus { left: 12px; top: 12px; }

/* v32 (redesign 2026-09-26 v2): reduced-motion safety around the unchanged v16 scroll script.
   The script sets inline styles; these !important rules win over them when the visitor asks for less motion. */
@media (max-width:760px){
  .v2-row{grid-template-columns:1fr!important;gap:10px!important}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  [data-rv]{opacity:1!important;transform:none!important;transition:none!important}
  [data-plx]{transform:none!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important}
}
