:root{
--color-bg-primary:#05050A;
--color-surface-panel:#0F1123;
--color-accent-cyan:#00F0FF;
--color-accent-pink:#FF0055;
--color-text-primary:#F2F6FF;
--color-text-secondary:#AAB2D5;
--color-border-glow:rgba(0,240,255,0.32);
--color-divider:rgba(255,255,255,0.10);

--font-heading:'Orbitron','Eurostile','Montserrat',Arial,sans-serif;
--font-body:'Inter','Segoe UI',Arial,sans-serif;

--fs-xxl:2.8rem;
--fs-xl:2.2rem;
--fs-lg:1.5rem;
--fs-md:1.15rem;
--fs-base:1rem;
--fs-sm:0.93rem;

--space-1:0.25rem;
--space-2:0.5rem;
--space-3:1rem;
--space-4:1.5rem;
--space-5:2.5rem;
--space-6:4rem;

--radius-sm:2px;
--radius-md:4px;

--container-max:1200px;

--glow-soft:0 0 12px rgba(0,240,255,0.25);
--glow-strong:0 0 18px rgba(0,240,255,0.45);
}

*,
*::before,
*::after{
box-sizing:border-box;
margin:0;
padding:0;
}

html{
scroll-behavior:smooth;
}

body{
font-family:var(--font-body);
font-size:var(--fs-base);
background:var(--color-bg-primary);
color:var(--color-text-primary);
line-height:1.6;
letter-spacing:0.02em;
min-height:100vh;
overflow-x:clip;
-webkit-font-smoothing:antialiased;
}

img,video{
max-width:100%;
display:block;
}

img{
object-fit:cover;
}

a{
color:var(--color-accent-cyan);
text-decoration:none;
transition:0.2s ease;
}

a:hover{
color:var(--color-accent-pink);
}

button,input,select,textarea{
font:inherit;
color:inherit;
background:none;
border:none;
outline:none;
}

button{
cursor:pointer;
}

:focus-visible{
outline:2px solid var(--color-accent-cyan);
outline-offset:2px;
}

h1,h2,h3,h4,h5,h6{
font-family:var(--font-heading);
text-transform:uppercase;
letter-spacing:0.05em;
line-height:1.2;
margin-block-end:var(--space-3);
}

h1{font-size:var(--fs-xxl);}
h2{font-size:var(--fs-xl);}
h3{font-size:var(--fs-lg);}
h4{font-size:var(--fs-md);}
h5{font-size:var(--fs-base);}
h6{font-size:var(--fs-sm);}

p{
margin-block-end:var(--space-3);
color:var(--color-text-primary);
}

ul,ol{
margin-block-end:var(--space-3);
padding-left:var(--space-4);
}

li{
margin-block-end:var(--space-2);
}

blockquote{
margin-block-end:var(--space-4);
padding:var(--space-3) var(--space-4);
border-left:2px solid var(--color-accent-cyan);
background:var(--color-surface-panel);
}

hr{
border:none;
height:1px;
background:var(--color-divider);
margin:var(--space-5) 0;
}

.container{
width:100%;
max-width:var(--container-max);
margin-inline:auto;
padding-inline:var(--space-4);
}

.container-wide{
width:100%;
padding-inline:var(--space-4);
}

@media (max-width:700px){
.container,
.container-wide{
padding-inline:var(--space-3);
}
}

.stack > * + *{
margin-top:var(--space-4);
}

.cluster{
display:flex;
flex-wrap:wrap;
gap:var(--space-3);
align-items:center;
}

.grid{
display:grid;
gap:var(--space-4);
}

.grid-2{
grid-template-columns:repeat(2,minmax(0,1fr));
}

.grid-3{
grid-template-columns:repeat(3,minmax(0,1fr));
}

.grid-asymmetric{
grid-template-columns:2fr 1fr;
}

.grid-rail{
display:flex;
gap:var(--space-4);
overflow-x:auto;
padding-bottom:var(--space-2);
}

.grid-rail > *{
min-width:280px;
flex:0 0 auto;
}

@media (max-width:900px){
.grid-3{
grid-template-columns:repeat(2,minmax(0,1fr));
}
.grid-asymmetric{
grid-template-columns:1fr;
}
}

@media (max-width:700px){
.grid-2,
.grid-3{
grid-template-columns:1fr;
}
}

.panel{
background:var(--color-surface-panel);
border:1px solid var(--color-border-glow);
border-radius:var(--radius-md);
padding:var(--space-4);
box-shadow:var(--glow-soft);
position:relative;
}

.panel > :last-child{
margin-bottom:0;
}

.card{
background:var(--color-surface-panel);
border:1px solid var(--color-border-glow);
border-radius:var(--radius-md);
overflow:hidden;
box-shadow:var(--glow-soft);
transition:transform 0.2s ease, box-shadow 0.2s ease;
}

.card:hover{
transform:translateY(-2px) scale(1.01);
box-shadow:var(--glow-strong);
}

.card-content{
padding:var(--space-4);
}

.card-content > :last-child{
margin-bottom:0;
}

.media{
position:relative;
aspect-ratio:16/9;
overflow:hidden;
}

.media img{
width:100%;
height:100%;
}

.button{
display:inline-flex;
align-items:center;
justify-content:center;
min-height:44px;
padding:0 var(--space-4);
font-family:var(--font-heading);
text-transform:uppercase;
font-size:var(--fs-sm);
letter-spacing:0.05em;
border-radius:var(--radius-md);
background:var(--color-accent-cyan);
color:#000;
box-shadow:var(--glow-soft);
transition:0.2s ease;
}

.button:hover{
box-shadow:var(--glow-strong);
}

.button--pink{
background:var(--color-accent-pink);
color:#fff;
}

.tag{
display:inline-block;
padding:0.2rem 0.5rem;
font-size:var(--fs-sm);
font-family:var(--font-heading);
text-transform:uppercase;
letter-spacing:0.05em;
border-radius:var(--radius-sm);
background:rgba(0,240,255,0.1);
color:var(--color-accent-cyan);
}

.meta{
display:flex;
gap:var(--space-2);
font-size:var(--fs-sm);
color:var(--color-text-secondary);
}

.divider{
height:1px;
background:var(--color-divider);
}

.form-group{
display:flex;
flex-direction:column;
gap:var(--space-2);
margin-bottom:var(--space-4);
}

input,textarea,select{
padding:0.6rem 0.75rem;
background:var(--color-surface-panel);
border:1px solid var(--color-divider);
border-radius:var(--radius-md);
min-height:44px;
}

input:focus,textarea:focus,select:focus{
border-color:var(--color-accent-cyan);
box-shadow:var(--glow-soft);
}

label{
font-size:var(--fs-sm);
color:var(--color-text-secondary);
}

.section{
padding-block:var(--space-6);
}

.section > :last-child{
margin-bottom:0;
}

.full-width-heading{
width:100%;
padding-inline:var(--space-4);
margin-bottom:var(--space-5);
}

.no-overflow{
overflow-x:hidden;
}

p,
a,
li,
h1,
h2,
h3,
h4,
h5,
h6,
span {
  overflow-wrap: anywhere;
  word-break: normal;
}

.btn,
.btn-outline {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  text-align: center;
  line-height: 1.35;
}
