/* ===== КРСУ · Лаборатория БПЛА — design system ===== */
:root{
  /* brand */
  --navy: #0A3C50;
  --navy-700: #0C485F;
  --navy-900: #072836;
  --ink: #0B2733;
  --green: #5ABE82;
  --green-600: #46A56C;
  --green-700: #3C8F5E;
  --green-soft: #E8F5EE;

  /* neutrals (cool, low-chroma) */
  --bg: #F4F8F8;
  --bg-2: #EAF1F2;
  --surface: #FFFFFF;
  --line: #E1EAEB;
  --line-2: #D2DEDF;
  --muted: #5C737C;
  --muted-2: #87999F;

  /* accent (derived, same chroma family) */
  --sky: oklch(0.72 0.09 230);

  --radius-xs: 8px;
  --radius-sm: 12px;
  --radius: 16px;
  --radius-lg: 22px;
  --radius-xl: 30px;

  --shadow-sm: 0 1px 2px rgba(10,40,54,.06), 0 1px 3px rgba(10,40,54,.05);
  --shadow: 0 6px 20px -8px rgba(10,40,54,.18), 0 2px 6px rgba(10,40,54,.06);
  --shadow-lg: 0 24px 60px -20px rgba(10,40,54,.28), 0 8px 22px -12px rgba(10,40,54,.16);

  --maxw: 1240px;
  --header-h: 76px;

  --font: "Open Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: "Roboto Mono", ui-monospace, "SF Mono", Menlo, monospace;
}

*{ box-sizing: border-box; }
html,body{ margin:0; padding:0; background:var(--navy-900); }
body{
  font-family: var(--font);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
#root{ min-height:100vh; display:flex; flex-direction:column; background:var(--bg); }
img{ max-width:100%; display:block; }
button{ font-family: inherit; cursor: pointer; }
a{ color: inherit; text-decoration: none; }
h1,h2,h3,h4{ margin:0; line-height:1.12; letter-spacing:-0.015em; color: var(--ink); font-weight:800; }
p{ margin:0; }
::selection{ background: var(--green); color:#fff; }

.wrap{ width:100%; max-width: var(--maxw); margin:0 auto; padding:0 28px; }
.section{ padding: 92px 0; }
.eyebrow{
  font-size:12.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color: var(--green-700); display:inline-flex; align-items:center; gap:9px;
}
.eyebrow::before{ content:""; width:22px; height:2px; background: var(--green); border-radius:2px; }
.muted{ color: var(--muted); }
.center{ text-align:center; }

/* buttons */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  font-weight:700; font-size:15px; border:none; border-radius: 999px;
  padding: 13px 24px; transition: .18s ease; white-space:nowrap; line-height:1;
}
.btn svg{ width:18px; height:18px; }
.btn-primary{ background: var(--navy); color:#fff; box-shadow: var(--shadow-sm); }
.btn-primary:hover{ background: var(--navy-900); transform: translateY(-1px); box-shadow: var(--shadow); }
.btn-green{ background: var(--green); color: #07321f; }
.btn-green:hover{ background: var(--green-600); color:#fff; transform: translateY(-1px); box-shadow: var(--shadow); }
.btn-ghost{ background: transparent; color: var(--navy); border:1.5px solid var(--line-2); }
.btn-ghost:hover{ border-color: var(--navy); background:#fff; }
.btn-light{ background:#fff; color: var(--navy); box-shadow: var(--shadow-sm); }
.btn-light:hover{ transform: translateY(-1px); box-shadow: var(--shadow); }
.btn-lg{ padding: 16px 30px; font-size:16px; }
.btn-sm{ padding: 9px 16px; font-size:13.5px; }
.btn-block{ width:100%; }

/* chips */
.chip{
  display:inline-flex; align-items:center; gap:7px; padding:7px 13px; border-radius:999px;
  font-size:13px; font-weight:600; background:#fff; border:1px solid var(--line);
  color: var(--muted);
}
.chip.solid{ background: var(--green-soft); color: var(--green-700); border-color: transparent; }
.chip.navy{ background: var(--navy); color:#fff; border-color:transparent; }

/* cards */
.card{ background: var(--surface); border:1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-sm); }

/* image placeholder */
.ph{
  position:relative; overflow:hidden; background:
    repeating-linear-gradient(135deg, #dfeaea 0 10px, #e9f1f1 10px 20px);
  border-radius: var(--radius);
  display:flex; align-items:center; justify-content:center;
}
.ph::after{
  content: attr(data-label);
  font-family: var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:#6f8389; background: rgba(255,255,255,.78); padding:6px 11px; border-radius:7px;
  border:1px solid #cdd ; text-align:center; max-width:80%;
}

/* tag/badge */
.badge{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; padding:5px 11px; border-radius:999px; letter-spacing:.01em; }
.badge.green{ background: var(--green-soft); color: var(--green-700); }
.badge.amber{ background:#FCEFD6; color:#9A6A12; }
.badge.navy{ background: rgba(10,60,80,.09); color: var(--navy); }
.badge.red{ background:#FBE3E1; color:#B23A30; }
.badge.gray{ background: var(--bg-2); color: var(--muted); }

/* fields */
.field{ display:flex; flex-direction:column; gap:7px; }
.field label{ font-size:13px; font-weight:600; color: var(--ink); }
.input, .select, .textarea{
  font-family:inherit; font-size:15px; color: var(--ink); background:#fff;
  border:1.5px solid var(--line-2); border-radius: var(--radius-sm); padding:12px 14px; width:100%;
  transition:.15s;
}
.input:focus,.select:focus,.textarea:focus{ outline:none; border-color: var(--green); box-shadow:0 0 0 4px var(--green-soft); }
.textarea{ resize:vertical; min-height:96px; }

.admin-filepicker{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  padding:10px 12px; border:1px dashed transparent; border-radius: var(--radius);
  transition:.18s ease;
}
.admin-filepicker.is-drag{
  background: var(--green-soft);
  border-color: var(--green);
  box-shadow: 0 0 0 4px rgba(90,190,130,.14);
}
.admin-filepicker__input{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.admin-filepicker__button{
  background:#fff;
}
.admin-filepicker__badge{
  flex-shrink:0;
}
.admin-filepicker__badge.is-empty{
  background: var(--bg-2);
  color: var(--muted);
}
.admin-filepicker__name{
  min-height:40px; display:inline-flex; align-items:center;
  padding:10px 14px; border-radius:999px; background: var(--bg-2);
  border:1px solid var(--line); color: var(--ink); font-size:13.5px; font-weight:600;
}
.admin-filepicker__name.is-empty{
  color: var(--muted);
  font-weight:500;
}
.admin-filepicker__hint{
  font-size:12.5px;
  color: var(--muted);
}

/* progress */
.bar{ height:8px; background: var(--bg-2); border-radius:999px; overflow:hidden; }
.bar > i{ display:block; height:100%; background: linear-gradient(90deg, var(--green), var(--green-600)); border-radius:999px; }

/* scrollbar polish */
.scroll::-webkit-scrollbar{ width:10px; height:10px; }
.scroll::-webkit-scrollbar-thumb{ background:#cdd9da; border-radius:999px; border:3px solid var(--bg); }

/* grid helpers */
.grid{ display:grid; gap:24px; }
.g2{ grid-template-columns: repeat(2,1fr); }
.g3{ grid-template-columns: repeat(3,1fr); }
.g4{ grid-template-columns: repeat(4,1fr); }

@media (max-width: 1000px){
  .g4{ grid-template-columns: repeat(2,1fr); }
  .g3{ grid-template-columns: repeat(2,1fr); }
  .section{ padding:64px 0; }
}
@media (max-width: 680px){
  .wrap{ padding:0 18px; }
  .g4,.g3,.g2{ grid-template-columns: 1fr; }
}

/* reveal */
.reveal{ opacity:0; transform: translateY(16px); transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }

/* utility */
.row{ display:flex; align-items:center; }
.stack{ display:flex; flex-direction:column; }
.spread{ display:flex; align-items:center; justify-content:space-between; gap:16px; }
.gap8{ gap:8px; } .gap12{ gap:12px; } .gap16{ gap:16px; } .gap24{ gap:24px; }
.wrapf{ flex-wrap:wrap; }

/* rich text */
.richtext{ color:var(--ink); font-size:16px; line-height:1.75; }
.richtext > *:first-child{ margin-top:0; }
.richtext > *:last-child{ margin-bottom:0; }
.richtext h1,.richtext h2,.richtext h3,.richtext h4{ color:var(--navy); line-height:1.25; margin:1.4em 0 .6em; }
.richtext p,.richtext ul,.richtext ol,.richtext blockquote,.richtext table{ margin:0 0 1em; }
.richtext ul,.richtext ol{ padding-left:1.3em; }
.richtext a{ color:var(--green-700); font-weight:700; }
.richtext img{ max-width:100%; height:auto; border-radius:18px; }
.richtext blockquote{ margin-left:0; padding:14px 18px; border-left:4px solid var(--green); background:var(--bg-2); border-radius:0 var(--radius-sm) var(--radius-sm) 0; }
.richtext table{ width:100%; border-collapse:collapse; overflow:hidden; border-radius:16px; }
.richtext td,.richtext th{ border:1px solid var(--line); padding:10px 12px; text-align:left; }

/* ---------- AUTUMN DRONE SCHOOL ---------- */
.autumn-promo{padding:52px 0 18px;background:linear-gradient(180deg,#fff 0%,#fffaf4 100%)}
.autumn-carousel{
  --autumn-orange:#f97316;position:relative;display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.58fr);min-height:560px;overflow:hidden;
  border-color:rgba(234,112,22,.2);background:linear-gradient(135deg,#092e47 0%,#0b4260 62%,#124b5f 100%);
  box-shadow:0 26px 70px rgba(8,48,65,.17)
}
.autumn-carousel::before{content:"";position:absolute;width:520px;height:520px;left:-170px;bottom:-360px;border-radius:50%;background:rgba(249,115,22,.18);filter:blur(4px)}
.autumn-carousel__copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:20px;padding:62px 70px 78px;animation:autumn-copy-in .42s ease both}
.autumn-carousel__copy h2{max-width:710px;color:#fff;font-size:clamp(38px,4.2vw,62px);line-height:1.02;letter-spacing:-.04em}
.autumn-carousel__copy p{max-width:690px;margin:0;color:#d8e8eb;font-size:17px;line-height:1.7}
.autumn-kicker{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;color:#ffbd83;font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.autumn-btn{color:#fff;border-color:transparent;background:linear-gradient(135deg,#fb7b1c,#ea5415);box-shadow:0 12px 28px rgba(229,84,21,.28)}
.autumn-btn:hover{color:#fff;transform:translateY(-1px);background:linear-gradient(135deg,#ff8b2d,#f15c18)}
.autumn-carousel__season{display:inline-flex;align-items:center;gap:8px;color:#c8dce1;font-size:13.5px;font-weight:700}
.autumn-carousel__media{position:relative;z-index:1;min-height:560px;overflow:hidden;background:#071f36;animation:autumn-image-in .46s ease both}
.autumn-carousel__media::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 34px 0 45px rgba(8,45,62,.42)}
.autumn-carousel__media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.autumn-carousel__counter{position:absolute;z-index:2;top:24px;right:24px;padding:8px 12px;border:1px solid rgba(255,255,255,.34);border-radius:999px;color:#fff;background:rgba(5,30,47,.6);backdrop-filter:blur(8px);font-family:var(--mono);font-size:12px}
.autumn-carousel__arrow{position:absolute;z-index:5;top:50%;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;color:#fff;background:rgba(5,31,48,.62);backdrop-filter:blur(10px);transform:translateY(-50%);transition:.18s ease}
.autumn-carousel__arrow:hover{background:var(--autumn-orange);border-color:var(--autumn-orange)}
.autumn-carousel__arrow--prev{left:18px}.autumn-carousel__arrow--next{right:18px}
.autumn-carousel__dots{position:absolute;z-index:5;left:70px;bottom:34px;display:flex;gap:8px}
.autumn-carousel__dots button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.38);transition:.2s ease}
.autumn-carousel__dots button.is-active{width:32px;background:#ff8732}
@keyframes autumn-copy-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes autumn-image-in{from{opacity:.45;transform:scale(1.02)}to{opacity:1;transform:none}}

.autumn-page{--autumn-orange:#f97316;--autumn-ink:#43170d;overflow:hidden;background:#fffdf9}
.autumn-hero{position:relative;padding:112px 0 72px;color:#fff;background:radial-gradient(circle at 80% 12%,rgba(249,115,22,.27),transparent 31%),linear-gradient(135deg,#071f36 0%,#0b3e58 57%,#0f5365 100%)}
.autumn-hero::after{content:"";position:absolute;inset:auto 0 0;height:7px;background:linear-gradient(90deg,#f97316,#f7ba2f,#f97316)}
.autumn-hero__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.58fr);align-items:center;gap:70px;min-width:0}
.autumn-hero__copy{display:flex;flex-direction:column;align-items:flex-start;gap:20px;min-width:0}
.autumn-back{margin-bottom:10px;color:#d6e6ea}.autumn-back:hover{color:#ffbd83}
.autumn-hero h1{max-width:800px;color:#fff;font-size:clamp(46px,5.6vw,78px);line-height:.98;letter-spacing:-.05em}
.autumn-hero__lead{max-width:730px;color:#fff;font-size:20px;font-weight:650;line-height:1.55}
.autumn-hero__copy>p:not(.autumn-hero__lead){max-width:710px;margin:0;color:#c9dde2;font-size:16px;line-height:1.7}
.autumn-age{display:inline-flex;align-items:center;gap:8px;padding:12px 15px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#e9f2f4;font-size:14px;font-weight:750}
.autumn-hero__media{position:relative;width:100%;max-width:420px;min-width:0;justify-self:end;transform:rotate(2.2deg)}
.autumn-hero__media::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:2px solid rgba(255,168,78,.5);border-radius:30px}
.autumn-hero__media img{position:relative;width:100%;display:block;border-radius:28px;box-shadow:0 35px 80px rgba(0,0,0,.35)}
.autumn-heading{max-width:760px;margin:0 auto 48px;text-align:center}
.autumn-heading h2{margin-top:12px;font-size:clamp(34px,4vw,50px);line-height:1.08;letter-spacing:-.035em}
.autumn-heading p{margin:16px auto 0;max-width:690px;color:var(--muted);font-size:16px;line-height:1.7}
.autumn-levels{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.autumn-level{position:relative;display:grid;grid-template-columns:86px 1fr;gap:26px;padding:34px;overflow:hidden;border-color:rgba(234,112,22,.18);background:linear-gradient(155deg,#fff,#fff8ee)}
.autumn-level--field{background:linear-gradient(155deg,#fff,#fff2df)}
.autumn-level__number{width:68px;height:68px;display:grid;place-items:center;border-radius:22px;color:#fff;background:linear-gradient(135deg,#0b4961,#072b43);font:700 18px var(--mono)}
.autumn-level__share{color:#dc5a13;font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.autumn-level h3{margin:7px 0 4px;color:#0a3c50;font-size:27px}
.autumn-level__date{margin:0 0 14px;color:#b94b0e;font-weight:750}
.autumn-level p:not(.autumn-level__date){color:#526c75;line-height:1.65}
.autumn-level ul{display:grid;gap:9px;margin:18px 0 0;padding:0;list-style:none}
.autumn-level li{position:relative;padding-left:22px;color:#173e4c;line-height:1.5}
.autumn-level li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:#f97316}
.autumn-skills{color:#fff;background:#071f36}
.autumn-heading--light h2{color:#fff}.autumn-heading--light .eyebrow{color:#ff9c54}
.autumn-skills__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.autumn-skill{min-height:260px;padding:30px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025))}
.autumn-skill__icon{width:54px;height:54px;display:grid;place-items:center;border-radius:17px;color:#ff9a4d;background:rgba(249,115,22,.15)}
.autumn-skill h3{margin:24px 0 10px;color:#fff;font-size:22px}.autumn-skill p{margin:0;color:#b7ccd2;line-height:1.65}
.autumn-result__grid{display:grid;grid-template-columns:1fr minmax(280px,410px);gap:80px;align-items:center}
.autumn-result__copy h2{margin:12px 0 20px;font-size:clamp(38px,4.2vw,56px);line-height:1.04}
.autumn-result__copy>p{max-width:650px;color:#526c75;font-size:18px;line-height:1.7}
.autumn-result__path{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px;color:#0a3c50;font-weight:800}
.autumn-result__path span{padding:12px 16px;border-radius:999px;background:#fff0df;border:1px solid #ffd4ad}
.autumn-result__image img{width:100%;display:block;border-radius:26px;box-shadow:0 24px 60px rgba(69,36,13,.18)}
.autumn-gallery{background:#fff6e9}
.autumn-gallery__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}
.autumn-gallery__grid img{width:100%;display:block;border-radius:20px;box-shadow:0 16px 36px rgba(78,42,14,.13)}
.autumn-gallery__grid>div:nth-child(even){margin-top:42px}
.autumn-final{padding-top:28px;padding-bottom:92px}
.autumn-final__box{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:48px 54px;border-radius:28px;color:#fff;background:linear-gradient(135deg,#0a354c,#0d5365);box-shadow:0 24px 60px rgba(7,47,62,.16)}
.autumn-final__box h2{max-width:760px;margin:12px 0;color:#fff;font-size:clamp(30px,3.3vw,44px);line-height:1.08}
.autumn-final__box p{margin:0;color:#c6dbe0;line-height:1.6}.autumn-final__box .btn{flex-shrink:0}

@media(max-width:1000px){
  .autumn-carousel{grid-template-columns:minmax(0,1fr) 330px;min-height:520px}.autumn-carousel__copy{padding:48px 54px 70px}.autumn-carousel__media{min-height:520px}.autumn-carousel__dots{left:54px}
  .autumn-hero__grid{gap:40px}.autumn-levels{grid-template-columns:1fr}.autumn-gallery__grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .autumn-promo{padding-top:28px}.autumn-carousel{grid-template-columns:1fr}.autumn-carousel__copy{order:2;padding:34px 28px 70px}.autumn-carousel__copy h2{font-size:38px}
  .autumn-carousel__media{order:1;min-height:0;aspect-ratio:9/13}.autumn-carousel__media::after{box-shadow:inset 0 -30px 42px rgba(8,45,62,.38)}
  .autumn-carousel__dots{left:28px;bottom:30px}.autumn-carousel__arrow{top:36%;width:40px;height:40px}.autumn-carousel__arrow--prev{left:10px}.autumn-carousel__arrow--next{right:10px}
  .autumn-hero{padding:98px 0 58px}.autumn-hero__grid{grid-template-columns:minmax(0,1fr)}.autumn-hero__media{width:100%;max-width:390px;justify-self:center;transform:none}.autumn-hero h1{font-size:48px}
  .autumn-level{grid-template-columns:1fr;padding:28px}.autumn-skills__grid{grid-template-columns:1fr}.autumn-skill{min-height:0}
  .autumn-result__grid{grid-template-columns:1fr;gap:40px}.autumn-result__image{max-width:390px;margin:0 auto}
  .autumn-gallery__grid{grid-template-columns:repeat(2,1fr)}.autumn-gallery__grid>div:nth-child(even){margin-top:24px}
  .autumn-final__box{align-items:flex-start;flex-direction:column;padding:36px 30px}
}
@media(max-width:480px){
  .autumn-carousel__copy{padding:30px 22px 64px}.autumn-carousel__copy h2{font-size:33px}.autumn-carousel__copy p{font-size:15px}.autumn-carousel__season{width:100%}.autumn-carousel__media{aspect-ratio:9/14}
  .autumn-hero h1{font-size:40px;overflow-wrap:anywhere}.autumn-hero__lead{font-size:18px}.autumn-hero__copy>.row{width:100%;align-items:flex-start}.autumn-hero__copy>.row .btn{width:100%;justify-content:center}.autumn-hero__media{max-width:340px}.autumn-hero__media::before{display:none}.autumn-heading{margin-bottom:34px}.autumn-heading h2{font-size:34px}
  .autumn-gallery__grid{gap:10px}.autumn-gallery__grid img{border-radius:13px}
}
@media(prefers-reduced-motion:reduce){.autumn-carousel__copy,.autumn-carousel__media{animation:none}}
