/* Фирменная палитра выставки */
  :root {
    --color-accent: #00AEEF;
    --color-brand-red-dark: #C4141C;
    --color-accent-100: #E8F7FE;
    --color-accent-200: #BEE9FB;
    --color-accent-300: #8FDAF8;
    --color-accent-400: #4AC6F4;
    --color-accent-500: #00AEEF;
    --color-accent-600: #009BD8;
    --color-accent-700: #0F6FA0;
    --color-accent-800: #0B5C86;
    --color-accent-900: #0B4E72;
    --color-text: #0E1B2A;
    --color-divider: #D5E4EE;
    --color-neutral-100: #F1F8FC;
    --color-neutral-200: #E2EEF6;
    --color-brand-red: #EE1C25;
    --color-navy: #14297B;
    --color-navy-700: #1B3595;
  }
  html, body { margin:0; padding:0; background:#ffffff; }
  a { color: var(--color-accent-700); text-decoration: none; }
  a:hover { color: var(--color-accent); }
  .card, .blueprint, .duotone { border-radius: 12px; }
  .btn, .input, .seg, select.input { border-radius: 8px; }
  .tag { border-radius: 6px; }
  .blueprint > i.corner { display: none !important; }
  .btn-reg { background: var(--color-brand-red) !important; border-color: var(--color-brand-red) !important; color:#ffffff !important; }
  .btn-reg:hover { background: var(--color-brand-red-dark) !important; border-color: var(--color-brand-red-dark) !important; }
  .btn-reg:focus-visible { outline: 2px solid var(--color-brand-red-dark); outline-offset: 2px; }
  /* ФОРМЫ */
  .field label { font-size:11px !important; letter-spacing:.12em; text-transform:uppercase;
    color: var(--color-neutral-700) !important; margin-bottom:7px; }
  select.input, input.input, textarea.input {
    width:100%; box-sizing:border-box; font-family:var(--font-body); font-size:15px;
    padding:13px 14px; background:#ffffff; color:var(--color-text);
    border:1px solid var(--color-divider); border-radius:8px; outline:none;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
  }
  input.input::placeholder, textarea.input::placeholder { color: var(--color-neutral-600); }
  select.input:hover, input.input:hover, textarea.input:hover { border-color: var(--color-accent-400); }
  select.input:focus, input.input:focus, textarea.input:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 18%, transparent);
  }
  textarea.input { resize: vertical; min-height:110px; line-height:1.5; }
  select.input {
    appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:40px;
    background-image: linear-gradient(45deg, transparent 50%, var(--color-accent-700) 50%),
                      linear-gradient(135deg, var(--color-accent-700) 50%, transparent 50%);
    background-position: calc(100% - 20px) calc(50% + 2px), calc(100% - 14px) calc(50% + 2px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
  }
  input.input[type=number]::-webkit-outer-spin-button,
  input.input[type=number]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }

  /* согласие / чекбокс */
  .consent { display:flex; align-items:flex-start; gap:11px; cursor:pointer; font-size:13.5px;
    line-height:1.5; color:var(--color-neutral-800); max-width:600px; }
  .consent input { position:absolute; opacity:0; width:0; height:0; }
  .consent .box { flex:none; width:20px; height:20px; margin-top:1px; border-radius:5px;
    border:1px solid var(--color-divider); background:#ffffff; display:grid; place-items:center;
    transition: background .16s ease, border-color .16s ease; }
  .consent .box::after { content:'✓'; font-size:13px; line-height:1; color:#ffffff; opacity:0; transition:opacity .14s ease; }
  .consent input:checked + .box { background:var(--color-accent); border-color:var(--color-accent); }
  .consent input:checked + .box::after { opacity:1; }
  .consent input:focus-visible + .box { box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-accent) 22%, transparent); }
  .consent:hover .box { border-color: var(--color-accent-400); }

  .err { border-color:#c5372c !important; background:#fdf6f5 !important; }
  .errtext { font-size:12.5px; color:#b3261e; margin-top:6px; }
  .navlink:hover { color: var(--color-accent) !important; }
  h1, h2, h3, h6 { color: var(--color-navy); }
  .on-blue h1, .on-blue h2, .on-blue h3, .on-blue h6 { color: #ffffff; }
  .on-blue .btn-secondary { color:#ffffff; border-color:rgba(255,255,255,.55); }
  .rowhover:hover { background: var(--color-neutral-100); }
  .unicard { transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease; }
  .unicard:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); border-color: var(--color-accent) !important; }

  /* карточка-возможность */
  .feat { position: relative; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
  .feat::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--color-accent); opacity:0; transition:opacity .18s ease; }
  .feat:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--color-accent) !important; }
  .feat:hover::before { opacity:1; }
  .feat-num { display:inline-grid; place-items:center; width:34px; height:34px; border-radius:8px;
    background: color-mix(in srgb, var(--color-accent) 12%, transparent); color: var(--color-accent-800);
    font-family: var(--font-heading); font-size:16px; letter-spacing:.02em; }

  /* плитка вуза */
  .logotile { position:relative; overflow:hidden; cursor:pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease; }
  .logotile:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--color-accent) !important;
    background: color-mix(in srgb, var(--color-accent) 7%, #ffffff); }
  .logotile .tile-city { color: var(--color-neutral-700); transition: color .18s ease; }
  .logotile:hover .tile-city { color: var(--color-accent-800); }
  .logotile .tile-arrow { display:none; }

  /* новость */
  .newscard { position:relative; cursor:pointer; overflow:hidden;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
  .newscard::after { content:''; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--color-accent);
    transform:scaleX(0); transform-origin:left; transition:transform .22s ease; }
  .newscard:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--color-accent) !important; }
  .newscard:hover::after { transform:scaleX(1); }
  .newscard .more { color: var(--color-accent); font-size:13px; opacity:0; transition:opacity .18s ease; }
  .newscard:hover .more { opacity:1; }
  @keyframes fadeup { from { opacity:0; transform:translateY(10px) } to { opacity:1; transform:none } }
  .page { animation: fadeup .28s ease both; }
