/* Copyright © ClickaByte Ltd - All Rights Reserved
  Unauthorized copying of this file, via any medium is strictly prohibited
  Proprietary and confidential
  Written by George Barnes <info@clickabyte.co.uk>, October 2025
*/

/* Base */
*,*::before,*::after{box-sizing:border-box}
html:focus-within{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";line-height:1.5;color:#0f172a;background:#fff}
img{max-width:100%;display:block}
a{color:inherit}

:root{
  --maxw:1750px;--pad:clamp(16px,2vw,28px);--radius:16px;--brand:#0ea5e9;--brand-dark:#0369a1;
  --text-on-dark:#f8fafc;--header-bg:rgba(255,255,255,1);--shadow:0 10px 20px rgba(2,6,23,.08),0 2px 6px rgba(2,6,23,.06);
  --footer-bg:#0f1722;--footer-fg:#cbd5e1;--footer-fg-dim:#94a3b8;--footer-accent:#e2e8f0;--footer-link:#cbe1ff;--footer-link-hover:#fff;--footer-border:#263246;
  --radius-lg:16px;--space-1:.5rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem
}

/* Header */
.site-header{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:center;padding-block:.5rem;transition:background .3s ease,backdrop-filter .3s ease,box-shadow .3s ease;background:transparent; width:100%;}
.site-header .inner{width:100%;max-width:var(--maxw);padding-inline:var(--pad);display:flex;align-items:center;gap:16px; padding-left: 0px !important; padding-right: 0px !important;}
.brand{font-weight:700;letter-spacing:.2px;padding-left:30px;}
nav{margin-left:auto;padding-right:30px;}
.nav-list{display:flex;gap:clamp(12px,2vw,24px);list-style:none;padding:0;margin:0}
.nav-list a{font-weight:600;text-decoration:none;color:#fff}
.site-header.is-stuck{background:var(--header-bg);backdrop-filter:blur(6px);box-shadow:var(--shadow)}
.menu-btn{display:none;background:transparent;border:0;padding:8px;border-radius:10px}
.menu-btn:focus-visible{outline:2px solid var(--brand)}
@media (max-width:900px){
  nav{display:none}
  .menu-btn{display:inline-grid;place-items:center}
  .drawer{position:fixed;inset:64px var(--pad) auto var(--pad);border-radius:var(--radius);padding:16px;display:none;background:var(--header-bg);backdrop-filter:blur(6px);box-shadow:var(--shadow); margin-top:7em;}
  .drawer.open{display:block}
  .drawer ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}
  .drawer a{font-weight:600;text-decoration:none}
  .hero {
      padding: clamp(48px,10vw,20em);
  }
  .content {
      margin-top: clamp(48px,7em,20em);
      width: 100% !important;
  }
}
@media (min-width:720px){.drawer{display:none}}

/* Hero */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;contain:layout paint style}
.hero-media{position:absolute;inset:0;z-index:-2;contain:paint}
.hero-media .hero-video,
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}

.hero-media .hero-video{will-change: transform; transform:translate3d(var(--mx,0),var(--my,0),0) scale(var(--ms,1.02));backface-visibility:hidden}

.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(2,6,23,.55) 0%,rgba(2,6,23,.25) 40%,rgba(2,6,23,.65) 100%)}

.hero .content{ width:min(95%, var(--maxw)); color: var(--text-on-dark); text-align:center; padding-inline: var(--pad) }

.eyebrow{ text-transform:uppercase; letter-spacing: .2em; opacity:.9; font-size: clamp(.75rem, 1.6vw, .9rem)}

h1{ margin: .3rem 0 1rem; font-size: clamp(2rem, 6vw, 4rem); line-height: 1.05 }

.lead{ font-size: clamp(1rem, 2.2vw, 1.25rem); max-width: 60ch; margin-inline:auto }
.cta{ margin-top: 1.25rem; display:flex; gap:12px; justify-content:center; flex-wrap:wrap }
.btn{ cursor:pointer; border:0; border-radius: 999px; padding: .9rem 1.25rem; font-weight:700; text-decoration:none; display:inline-flex; align-items:center; justify-content:center }
.btn-primary{ background: var(--brand); color: white }
.btn-primary:hover{ background: var(--brand-dark) }
.btn-ghost{ background: rgba(255,255,255,.12); color: var(--text-on-dark); backdrop-filter: blur(4px) }

/* Sections */
section{padding:clamp(48px,10vw,96px) var(--pad)}
.container{max-width:var(--maxw);margin-inline:auto}
.grid{display:grid;gap:clamp(16px,3vw,28px)}
@media (min-width:860px){.grid.cols-3{grid-template-columns:repeat(3,1fr)}}

.card{border:1px solid #e2e8f0;border-radius:var(--radius);padding:clamp(16px,2vw,24px);content-visibility:auto;contain-intrinsic-size:300px}
.muted{color:#475569}

footer{padding:40px var(--pad);background:#0b1220;color:#cbd5e1}

/*@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
  *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .hero-media .hero-video{transform:none!important}
}*/

.prevent-select{-webkit-user-select:none;-ms-user-select:none;user-select:none}

.panel{min-height:100svh;scroll-margin-top:120px;content-visibility:auto;contain-intrinsic-size:800px}
.short{min-height:50svh}
@media (hover:hover){
  [class~="grow"]{
    --grow-scale:1.03;--grow-duration:220ms;--grow-ease:cubic-bezier(.2,.8,.2,1);--grow-origin:center;
    transform:translateZ(0) scale(1);transform-origin:var(--grow-origin);
    transition:transform var(--grow-duration) var(--grow-ease),box-shadow var(--grow-duration) var(--grow-ease);
  }
  [class~="grow"]:hover,[class~="grow"]:focus-visible,[class~="grow"]:focus-within{transform:scale(var(--grow-scale));z-index:1}
  [class~="grow"]:active{transform:scale(calc(var(--grow-scale) - .03))}
}

h2{font-size:clamp(28px,4vw,48px)}
.srvimg{object-fit:cover}

.site-footer{background:var(--footer-bg);color:var(--footer-fg);font-size:.95rem;line-height:1;padding:var(--space-5) 0; z-index:99999;}
.site-footer a{color:var(--footer-link);text-decoration:underline;text-underline-offset:2px}
.site-footer a:hover,.site-footer a:focus{color:var(--footer-link-hover);text-decoration-thickness:2px}
.site-footer .container{margin:0 auto}
.footer-inner{display:block}
.footer-top{display:grid;grid-template-columns:2fr .8fr;gap:var(--space-5)}
.footer-col{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.04);border-radius:var(--radius-lg);padding:var(--space-4)}
.footer-title{margin:0 0 var(--space-2);font-size:1rem;letter-spacing:.02em;font-weight:600;color:var(--footer-accent)}
.legal p{margin:0 0 var(--space-2);color:var(--footer-fg-dim)}
.contact .label{margin-top:0;color:var(--footer-fg-dim);font-size:.9rem}
.address{color:var(--footer-fg)}
.footer-divider{margin:var(--space-5) 0 var(--space-4);border:0;height:1px;background:var(--footer-border)}
.footer-bottom{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;justify-content:space-between}
.legal-links{display:flex;gap:var(--space-2);align-items:center}
copyright,.copyright{margin:0;color:var(--footer-fg-dim);font-size:.92rem}
@media (max-width:800px){
  .footer-top{grid-template-columns:1fr;grid-template-areas:"contact" "about"}
  .footer-top>.footer-col:nth-child(1){grid-area:about}
  .footer-top>.footer-col:nth-child(2){grid-area:contact}
  .footer-col{margin:0 auto;text-align:center}
}
@media (max-width:640px){
  .footer-top{grid-template-columns:1fr}
  .footer-col{padding:var(--space-3)}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:var(--space-1)}
}

.no-cursor,.no-cursor *{cursor:none!important}
.no-cursor input,.no-cursor textarea,.no-cursor [contenteditable]{caret-color:transparent}
.arms{position:relative;min-height:60vh}

/* Navs etc */
:root{
  --nav-ink-dark:#0b1220;
  --nav-ink-light:#f8fafc;
  --aurora-1:#60a5fa;
  --aurora-2:#22d3ee;
  --aurora-3:#34d399;
  --aurora-4:#a78bfa;
}

.nav-list{ gap: clamp(10px,1.2vw,20px) }

/* base again */
.nav-list a{
  position:relative;
  display:inline-block;
  padding:.7rem 1rem;
  border-radius:999px;
  font-weight:700;
  letter-spacing:.02em;
  line-height:1;
  color:var(--nav-ink-light);
  text-decoration:none;
  transform:translateZ(0);
  transition: transform .22s cubic-bezier(.2,.8,.2,1), filter .22s, color .22s, opacity .22s;
  will-change:transform,filter;
  opacity:.95;
}

@media (hover:hover){
  .nav-list a:hover,
  .nav-list a:focus-visible{
    transform:translateY(-2px) scale(1.02);
    filter:saturate(1.08);
    opacity:1;
  }
}

/* neon underline */
.nav-list a::after{
  content:"";
  position:absolute;
  left:12px; right:12px; bottom:6px; height:2px;
  border-radius:2px;
  background:
    linear-gradient(90deg,
      transparent 0%,
      var(--aurora-1) 20%,
      var(--aurora-2) 40%,
      var(--aurora-3) 60%,
      var(--aurora-4) 80%,
      transparent 100%);
  background-size:200% 100%;
  transform-origin:center;
  transform:translateY(6px) scaleX(.35);
  opacity:0;
  box-shadow:0 0 10px rgba(255,255,255,.35), 0 0 22px rgba(34,211,238,.25);
  transition:transform .32s cubic-bezier(.2,.8,.2,1), opacity .18s, background-position .6s ease;
}
.nav-list a:hover::after,
.nav-list a:focus-visible::after{
  opacity:1;
  transform:translateY(0) scaleX(1);
  background-position:100% 0;
}

/* pill glow */
.nav-list a::before{
  content:"";
  position:absolute; inset:-3px;
  border-radius:inherit;
  pointer-events:none;
  /*background:
    radial-gradient(120px 60px at 20% 30%, color-mix(in oklab, var(--aurora-2) 65%, transparent) 0, transparent 60%),
    radial-gradient(140px 80px at 80% 70%, color-mix(in oklab, var(--aurora-4) 55%, transparent) 0, transparent 65%),
    radial-gradient(160px 60px at 50% 50%, color-mix(in oklab, var(--aurora-3) 50%, transparent) 0, transparent 70%);*/
  filter: blur(16px);
  opacity:0;
  transition: opacity .25s ease;
  z-index:-1;
}
.nav-list a:hover::before,
.nav-list a:focus-visible::before{ opacity:.9 }

.nav-list a > .shimmer{
  -webkit-background-clip:text; background-clip:text;
}

@keyframes auroraFloat {
  0%{ transform:translateY(0) }
  50%{ transform:translateY(-1.5px) }
  100%{ transform:translateY(0) }
}
@keyframes hue {
  0%{ filter:hue-rotate(0deg) }
  100%{ filter:hue-rotate(360deg) }
}

.nav-list a[aria-current="page"],
.nav-list a.is-active{
  color:#fff;
  text-shadow:0 1px 12px rgba(255,255,255,.18);
}
.nav-list a[aria-current="page"]::after,
.nav-list a.is-active::after{
  opacity:1; transform:translateY(0) scaleX(1);
  animation: hue 8s linear infinite;
}
.nav-list a[aria-current="page"]::before,
.nav-list a.is-active::before{
  opacity:.95;
  animation: auroraFloat 5s ease-in-out infinite;
}

.nav-list a i{ display:none }
.nav-list a:has(*){}
.nav-list a .comet{ display:none }
.nav-list a{
  background:
    radial-gradient(6px 6px at -12px 50%, #fff 0, rgba(255,255,255,.85) 40%, transparent 60%) no-repeat;
  background-position: -20px 50%;
  transition: background-position .35s cubic-bezier(.2,.8,.2,1);
}
.nav-list a:hover{ background-position: 8px 50% }

.site-header.is-stuck .nav-list a{ color:white; opacity:.9 }
.site-header.is-stuck .nav-list a::after{
  background: linear-gradient(90deg, transparent, var(--brand), var(--brand-dark), transparent);
  box-shadow:0 0 10px color-mix(in oklab, var(--brand) 50%, transparent);
}
.site-header.is-stuck .nav-list a::before{
  filter: blur(14px) saturate(1.1);
  opacity:.55;
}

@media (prefers-reduced-motion:reduce){
  .nav-list a{ transition:none }
  .nav-list a::after{ transition:none; animation:none }
  .nav-list a::before{ transition:none; animation:none }
}

li a {
    border-width:1px;
    border-style:solid;
    border-color:white;
}
.stage{
    max-width:100%;
    overflow-x:hidden;
}
.menu-btn {
    margin-left:auto;
    margin-right:30px;
}

