﻿:root{
  --gs-bg:#000000;
  --gs-fg:#ffffff;
  --gs-line:rgba(255,255,255,0.14);
  --gs-line-strong:rgba(255,255,255,0.28);
  --gs-muted:rgba(255,255,255,0.72);
}

html,body{
  background:var(--gs-bg);
  color:var(--gs-fg);
}

body{
  font-family:Inter, "Helvetica Neue", Arial, "Segoe UI", Roboto, sans-serif;
  letter-spacing:0.01em;
}

.gs-shell{
  position:relative;
  isolation:isolate;
}

.gs-container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding-left:1.5rem;
  padding-right:1.5rem;
}

@media (min-width:1024px){
  .gs-container{
    padding-left:2.5rem;
    padding-right:2.5rem;
  }
}

.gs-grid-bg{
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-image:url("../images/hero/chess-grid.svg");
  background-size:900px 900px;
  background-position:center top;
  opacity:0.07;
}

.gs-hero-radial{
  position:absolute;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background:
    radial-gradient(1100px 520px at 70% -10%, rgba(255,255,255,0.18), transparent 62%),
    radial-gradient(900px 480px at 10% 10%, rgba(255,255,255,0.08), transparent 70%),
    var(--gs-bg);
}

.gs-orbit-wrap{
  position:relative;
  width:100%;
  max-width:640px;
  margin-inline:auto;
  aspect-ratio:4/3;
  border-radius:36px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.16);
  background:rgba(255,255,255,0.02);
  box-shadow:
    0 40px 120px rgba(0,0,0,0.75),
    0 0 0 1px rgba(255,255,255,0.04) inset;
}

@media (max-width:1023px){
  .gs-orbit-wrap{
    max-width:560px;
    aspect-ratio:1/1;
  }
}
.gs-orbit-ring{
  position:absolute;
  inset:-4%;
  border:1px solid rgba(255,255,255,0.16);
  border-radius:36px;
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.06) inset,
    0 40px 120px rgba(255,255,255,0.06);
}

.gs-orbit-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  filter:grayscale(1) contrast(1.05);
  animation:gsFloat 14s ease-in-out infinite;
  transform-origin:50% 55%;
}

.gs-hero-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:72% 38%;
  border-radius:inherit;
  border:0;
  box-shadow:none;
  opacity:1;
}
@keyframes gsFloat{
  0%{transform:translate3d(0,0,0) scale(1);}
  50%{transform:translate3d(0,-10px,0) scale(1.01);}
  100%{transform:translate3d(0,0,0) scale(1);}
}

.gs-header{
  transition:background-color .35s ease, border-color .35s ease, box-shadow .35s ease;
}

.gs-header.sticky{
  background:rgba(0,0,0,0.9);
  border-bottom:1px solid rgba(255,255,255,0.12);
  box-shadow:0 20px 60px rgba(0,0,0,0.6);
}

.gs-nav-link{
  color:rgba(255,255,255,0.78);
  transition:color .25s ease;
}

.gs-nav-link:hover,
.gs-nav-link:focus-visible{
  color:#ffffff;
}

.gs-kicker{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  padding:0.5rem 0.9rem;
  border:1px solid var(--gs-line);
  border-radius:999px;
  background:rgba(255,255,255,0.04);
  color:rgba(255,255,255,0.86);
  font-weight:700;
  font-size:0.72rem;
  letter-spacing:0.08em;
  text-transform:uppercase;
}

.gs-kicker-dot{
  width:0.4rem;
  height:0.4rem;
  border-radius:999px;
  background:#ffffff;
  box-shadow:0 0 0 6px rgba(255,255,255,0.08);
}

.gs-title{
  font-weight:900;
  letter-spacing:-0.02em;
  line-height:1.02;
}

.gs-title-accent{
  position:relative;
  display:inline-block;
  padding-bottom:0.35rem;
}

.gs-title-accent::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.92), transparent);
  opacity:0.9;
}

.gs-lead{
  color:var(--gs-muted);
  max-width:46rem;
}

.gs-cta{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  transition:transform .28s ease, background-color .28s ease, color .28s ease, border-color .28s ease;
}

.gs-cta::before{
  content:"";
  position:absolute;
  inset:-120% -30% auto -30%;
  height:240%;
  background:radial-gradient(closest-side, rgba(255,255,255,0.35), transparent 70%);
  opacity:0;
  transform:translateY(40%);
  transition:opacity .4s ease, transform .6s ease;
  z-index:-1;
}

.gs-cta:hover::before,
.gs-cta:focus-visible::before{
  opacity:0.6;
  transform:translateY(0%);
}

.gs-cta:hover,
.gs-cta:focus-visible{
  transform:translateY(-2px);
}

.gs-card{
  height:100%;
  border:1px solid var(--gs-line);
  background:rgba(255,255,255,0.03);
  border-radius:1.6rem;
  transition:transform .35s ease, border-color .35s ease, background-color .35s ease, box-shadow .35s ease;
  box-shadow:0 20px 60px rgba(255,255,255,0.04);
}

.gs-card:hover{
  transform:translateY(-6px);
  border-color:var(--gs-line-strong);
  background:rgba(255,255,255,0.045);
  box-shadow:0 35px 90px rgba(255,255,255,0.06);
}

.gs-card-title{
  font-weight:800;
  letter-spacing:-0.01em;
}

.gs-card-kicker{
  font-size:0.72rem;
  text-transform:uppercase;
  letter-spacing:0.12em;
  color:rgba(255,255,255,0.62);
  font-weight:700;
}

.gs-divider{
  height:1px;
  width:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  opacity:0.7;
}

.gs-chip{
  display:inline-flex;
  align-items:center;
  gap:0.45rem;
  padding:0.45rem 0.8rem;
  border-radius:999px;
  border:1px solid var(--gs-line);
  background:rgba(255,255,255,0.04);
  color:rgba(255,255,255,0.86);
  font-weight:700;
  font-size:0.78rem;
}

.gs-chip::before{
  content:"";
  width:0.32rem;
  height:0.32rem;
  border-radius:999px;
  background:#ffffff;
  opacity:0.9;
}

.gs-section{
  position:relative;
  padding-top:5.5rem;
  padding-bottom:5.5rem;
}

@media (min-width:1024px){
  .gs-section{
    padding-top:7rem;
    padding-bottom:7rem;
  }
}

.gs-section-muted{
  background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
  border-top:1px solid rgba(255,255,255,0.06);
  border-bottom:1px solid rgba(255,255,255,0.06);
}

.gs-list{
  display:grid;
  gap:0.7rem;
}

.gs-list-item{
  display:flex;
  gap:0.7rem;
  color:var(--gs-muted);
}

.gs-list-item::before{
  content:"";
  margin-top:0.55rem;
  width:0.36rem;
  height:0.36rem;
  border-radius:999px;
  background:#ffffff;
  box-shadow:0 0 0 6px rgba(255,255,255,0.06);
  flex:0 0 auto;
}

.gs-panel{
  border:1px solid var(--gs-line);
  border-radius:2rem;
  background:rgba(255,255,255,0.04);
  box-shadow:
    0 30px 90px rgba(255,255,255,0.05),
    0 0 0 1px rgba(255,255,255,0.04) inset;
}

.gs-panel-grid{
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0.16;
  background-image:url("../images/hero/chess-grid.svg");
  background-size:820px 820px;
  background-position:center;
}

.gs-eyebrow{
  color:rgba(255,255,255,0.64);
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size:0.74rem;
  font-weight:800;
}

.gs-footer{
  border-top:1px solid rgba(255,255,255,0.1);
  background:#000000;
}

.gs-footer-mark{
  opacity:0.92;
  filter:grayscale(1) contrast(1.05);
}

@media (max-width:1023px){
  .gs-mobile-panel{
    border:1px solid rgba(255,255,255,0.16);
    background:rgba(0,0,0,0.98);
    box-shadow:0 40px 120px rgba(0,0,0,0.8);
  }
}

:focus-visible{
  outline:2px solid rgba(255,255,255,0.7);
  outline-offset:3px;
  border-radius:12px;
}

section{scroll-margin-top:96px;}




