/* ============================================================
   TURBOTEC — SHARED CORE
   Tokens, reset, header, navigation, footer, motion, a11y.
   Loaded before each page's inline <style>, so page rules still win.
   Edit a colour or the header HERE and it changes site-wide.
   ============================================================ */
:root{
  --ink:#0A0A0B; --panel:#101012; --panel2:#141416; --line:#232326;
  --amber:#E6A23F; --red:#CE3227; --red-hot:#CE3227; --cyan:#19C3DB;
  --paper:#E8E6E1; --dim:#8C8C94; --green:#3FBF7F;
  --mono:'Ticketing','Share Tech Mono',ui-monospace,monospace;
  --display:'Chakra Petch','Archivo Black',sans-serif;
  --body:'Archivo',sans-serif;
  --track-wide:.32em; --track-mid:.18em;
  --gutter:clamp(20px,5vw,72px); --max:1320px;
}
@font-face{font-family:'Ticketing';src:local('Ticketing');font-display:swap}
header{position:sticky;top:0;z-index:60;background:rgba(10,10,11,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}


*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--paper);font-family:var(--body);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--amber);color:var(--ink)}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.sys{font-family:var(--mono);font-size:11px;letter-spacing:var(--track-mid);text-transform:uppercase;color:var(--dim)}
.on{color:var(--green)}
.bar{display:flex;align-items:center;justify-content:space-between;height:64px;gap:24px}
.wordmark-sm{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:clamp(15px,1.7vw,19px);letter-spacing:.14em;white-space:nowrap}
.wordmark-sm .t{color:var(--paper)}
.wordmark-sm .tec{color:var(--red)}
nav{display:flex;gap:clamp(14px,2.4vw,34px);align-items:center}
nav a{font-family:var(--mono);font-size:11px;letter-spacing:var(--track-mid);text-transform:uppercase;color:var(--dim);padding:6px 0;position:relative;transition:color .25s}
nav a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:0;background:var(--amber);transition:width .3s}
.nav-store{border:1px solid var(--line);padding:9px 20px;color:var(--dim)}
.nav-store::after{display:none}
.nav-store:hover{border-color:var(--dim);color:var(--paper)}
footer{border-top:1px solid var(--line);padding:36px 0 52px}
.foot-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;font-family:var(--mono);font-size:10px;letter-spacing:var(--track-mid);color:var(--dim);text-transform:uppercase;padding-bottom:24px;border-bottom:1px solid var(--line)}
.foot-top .foot-values{justify-self:center;text-align:center;white-space:nowrap}
@media(max-width:620px){.foot-top{grid-template-columns:1fr;justify-items:center;text-align:center;gap:12px}}
.foot-div{margin-top:24px;font-family:var(--mono);font-size:11px;letter-spacing:.34em;color:var(--dim);text-transform:uppercase;text-align:center}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.navtoggle{display:none;width:44px;height:44px;align-items:center;justify-content:center; background:transparent;border:1px solid var(--line);cursor:pointer;padding:0;flex:none}
.navtoggle:hover{border-color:var(--dim)}
.navtoggle:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.navtoggle span{position:relative;display:block;width:18px;height:1px;background:var(--paper);transition:background .2s}
.navtoggle span::before,.navtoggle span::after{content:"";position:absolute;left:0;width:18px;height:1px;background:var(--paper);transition:transform .28s ease,top .28s ease}
.navtoggle span::before{top:-6px}
.navtoggle span::after{top:6px}
.navtoggle[aria-expanded="true"] span{background:transparent}
.navtoggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.navtoggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
.mobnav{position:fixed;inset:0;z-index:90;background:rgba(10,10,11,.985);backdrop-filter:blur(18px); display:none;flex-direction:column;padding:88px var(--gutter) 40px;overflow-y:auto;overscroll-behavior:contain}
.mobnav.open{display:flex}
.mobnav .mn-label{font-family:var(--mono);font-size:10px;letter-spacing:var(--track-wide); text-transform:uppercase;color:var(--dim);margin:0 0 14px}
.mobnav .mn-main{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.mobnav .mn-main a{display:flex;align-items:center;min-height:56px;padding:8px 0; border-bottom:1px solid var(--line);font-family:var(--display);font-size:21px;letter-spacing:.06em; text-transform:uppercase;color:var(--paper)}
.mobnav .mn-main a:hover,.mobnav .mn-main a:focus-visible{color:var(--amber)}
.mobnav .mn-main a.here{color:var(--amber)}
.mobnav .mn-sub{display:flex;flex-direction:column;gap:2px;margin:22px 0 4px}
.mobnav .mn-sub a{display:flex;align-items:center;min-height:44px; font-family:var(--mono);font-size:11.5px;letter-spacing:var(--track-mid);text-transform:uppercase;color:var(--dim)}
.mobnav .mn-sub a:hover,.mobnav .mn-sub a:focus-visible{color:var(--paper)}
.mobnav .mn-foot{margin-top:auto;padding-top:28px;border-top:1px solid var(--line); font-family:var(--mono);font-size:10.5px;letter-spacing:var(--track-mid);text-transform:uppercase;color:var(--dim); display:flex;flex-direction:column;gap:12px}
.mobnav .mn-foot a{color:var(--paper);min-height:44px;display:flex;align-items:center}
body.nav-open{overflow:hidden}
@media(max-width:860px){.navtoggle{display:flex} nav.desktop-nav{display:none}}
@media(min-width:861px){.mobnav{display:none!important}}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
[id]{scroll-margin-top:88px}
@media(hover:none){.arow-cta,.pcta,.asset-cta,.usec .cta{opacity:1;transform:none}}
.foot-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(24px,3.4vw,52px); padding:clamp(34px,5vh,54px) 0 clamp(28px,4vh,40px);border-bottom:1px solid var(--line)}
@media(max-width:860px){.foot-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}}
@media(max-width:460px){.foot-cols{grid-template-columns:1fr}}
.foot-col h3{font-family:var(--mono);font-size:10px;letter-spacing:var(--track-wide);text-transform:uppercase; color:var(--dim);font-weight:400;margin-bottom:16px}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:2px}
.foot-col li a,.foot-col li span{display:flex;align-items:center;min-height:34px; font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--paper); transition:color .22s}
.foot-col li a:hover,.foot-col li a:focus-visible{color:var(--amber)}
.foot-legal{padding:22px 0 0;font-family:var(--mono);font-size:10px;letter-spacing:.14em; text-transform:uppercase;color:var(--dim);line-height:2;text-align:center}
.foot-legal a{color:var(--dim);text-decoration:underline;text-underline-offset:3px}
.foot-legal a:hover{color:var(--paper)}
.foot-lore{margin-top:18px;font-family:var(--mono);font-size:10.5px;letter-spacing:.3em; text-transform:uppercase;color:var(--dim);text-align:center}
@media(scripting:none){.reveal{opacity:1;transform:none}}
