/* base.css — Reset + globals citaitv_app */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth;font-size:16px}

body{
  background:var(--bg-primary);
  color:var(--text-primary);
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

/* Background grid pattern */
body::before{
  content:'';
  position:fixed;
  inset:0;
  background-image:
    linear-gradient(var(--border) 1px, transparent 1px),
    linear-gradient(90deg, var(--border) 1px, transparent 1px);
  background-size:40px 40px;
  pointer-events:none;
  z-index:0;
  opacity:.5;
}

body::after{
  content:'';
  position:fixed;
  top:-30%;left:-20%;
  width:700px;height:700px;
  background:radial-gradient(circle, var(--accent-glow-s) 0%, transparent 70%);
  pointer-events:none;
  z-index:0;
  animation:orbFloat 12s ease-in-out infinite alternate;
}

@keyframes orbFloat{
  0%{transform:translate(0,0) scale(1);}
  100%{transform:translate(120px,80px) scale(1.15);}
}

main{position:relative;z-index:1;padding-top:var(--header-h);}

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 1.5rem;
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}

h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:700;
  line-height:1.2;
  letter-spacing:-.02em;
}

/* Utility */
.text-accent{color:var(--accent);}
.text-green{color:var(--green);}
.text-muted{color:var(--text-secondary);}

.badge-live{
  display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(255,77,26,0.15);
  border:1px solid var(--border-accent);
  color:var(--accent-light);
  font-size:.8rem;font-weight:600;
  padding:.35rem .9rem;
  border-radius:var(--radius-full);
  letter-spacing:.04em;
}
.badge-live::before{
  content:'';width:7px;height:7px;border-radius:50%;
  background:var(--accent);
  animation:pulse 1.5s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{opacity:1;transform:scale(1);}
  50%{opacity:.5;transform:scale(1.4);}
}

.section{padding:5rem 0;}
.section-sm{padding:3rem 0;}

.section-tag{
  display:inline-block;
  font-family:var(--font-display);
  font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--accent);
  margin-bottom:.75rem;
}
.section-title{
  font-size:clamp(1.8rem,4vw,2.8rem);
  margin-bottom:1rem;
}
.section-subtitle{
  font-size:1.05rem;
  color:var(--text-secondary);
  max-width:560px;
}

/* Scrollbar */
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:var(--bg-secondary);}
::-webkit-scrollbar-thumb{background:var(--accent-dark);border-radius:3px;}

/* Focus */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}
