/* ============================================================
   Курсант — дизайн-токены и общая база
   Используется лендингом.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:wght@400;500;600;700;800&family=Play:wght@400;700&display=swap');

:root{
  /* фоны */
  --bg:#080c0b; --bg2:#0e1615; --bg3:#152221;
  --glass:rgba(20,32,30,.55); --glass2:rgba(26,40,38,.6);
  /* границы */
  --border:rgba(122,154,149,.14); --border2:rgba(122,154,149,.26);
  /* акценты */
  --primary:#3d7a6e; --primary-h:#4a9485; --primary-light:rgba(61,122,110,.14);
  --gold:#e8d5a0; --gold-dim:rgba(232,213,160,.14);
  --green:#2d8a5e;
  /* текст */
  --text:#e6f0ec; --text2:#8fa8a3; --text3:#5d746f;
  /* прочее */
  --red:#c42525; --red-h:#d43535; --white:#fff;
  --radius:18px;
  --font:'Fira Sans',system-ui,-apple-system,sans-serif;
  --font-head:'Play','Fira Sans',sans-serif;
  /* раскладка */
  --container:2000px;
  --gutter:clamp(20px,3vw,56px);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font);
  background:var(--bg); color:var(--text);
  -webkit-font-smoothing:antialiased; line-height:1.6;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ---- общий контейнер ---- */
.container{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}

/* ---- кнопки ---- */
.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 32px;border-radius:13px;border:none;font-size:16px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s}
.btn-primary{background:var(--primary);color:#fff;box-shadow:0 6px 24px rgba(61,122,110,.28)}
.btn-primary:hover{background:var(--primary-h);transform:translateY(-2px);box-shadow:0 12px 36px rgba(61,122,110,.4)}
.btn-outline{background:rgba(255,255,255,.02);color:var(--text);border:1px solid var(--border2);backdrop-filter:blur(8px)}
.btn-outline:hover{border-color:var(--primary);color:var(--gold);transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:#0a0f0e}
.btn-gold:hover{background:#f0e0b0;transform:translateY(-2px);box-shadow:0 10px 32px rgba(232,213,160,.25)}

/* ---- глобальный амбиентный фон (свечения + сетка во всю ширину) ---- */
body.ambient{position:relative;overflow-x:hidden}
body.ambient::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 56% 62% at 0% -6%, rgba(74,148,133,.46), transparent 60%),
    radial-gradient(ellipse 52% 56% at 100% -8%, rgba(232,213,160,.22), transparent 58%),
    radial-gradient(ellipse 58% 46% at 82% 36%, rgba(61,122,110,.18), transparent 60%),
    radial-gradient(ellipse 74% 52% at 18% 86%, rgba(74,148,133,.22), transparent 62%),
    linear-gradient(176deg, #183430 0%, #102421 26%, #0a110f 62%, #070a09 100%);
}
body.ambient::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:radial-gradient(rgba(224,236,232,.03) 1px, transparent 1.5px);
  background-size:36px 36px;
  -webkit-mask-image:radial-gradient(ellipse 95% 60% at 50% 0%, #000, transparent 72%);
  mask-image:radial-gradient(ellipse 95% 60% at 50% 0%, #000, transparent 72%);
}
body.ambient .page{position:relative;z-index:1}

/* лёгкое появление (только сдвиг — контент виден всегда) */
@media (prefers-reduced-motion: no-preference){ .reveal{animation:rise .6s ease} }
@keyframes rise{from{transform:translateY(16px)}to{transform:none}}
