/* style_may2026 */

:root{
    /* ПАЛИТРА  */
    --bg: #fbfbfc;
    --surface: #ffffff;
    --ink: #1e1e22;
    --muted: #60646c;
    --line: #ececf1;
    --accent: #ff4d6d;    /* основной акцент */
    --accent-2: #22a5c5;  /* второй акцент (изумруд) */
    --accent-3: #4ca9fb;  /* доп. акцент  */
    --grad-1: #e6f5ff;
    --grad-2: #ea73ad46;
    --grad-3: #e8e9ff;
    --ring: 0 0 0 4px rgba(77, 213, 255, 0.218);
    --radius-lg: 18px;
    --radius-xl: 28px;
    --shadow-sm: 0 8px 20px rgba(16, 16, 20, .06);
    --shadow-md: 0 16px 36px rgba(16, 16, 20, .08);
    --shadow-lg: 0 22px 60px rgba(16, 16, 20, .10);
    --container: 1160px;
}

/* Сбрасываем центровку, унаследованную от base */
.may26-root,
.may26-root .container,
.may26-root .section,
.may26-root .hero,
.may26-root .about,
.may26-root .panel,
.may26-root .news,
.may26-root .card,
.may26-root .navgrid,
.may26-root .list {
  text-align: left !important;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;background:var(--bg);color:var(--ink);}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:var(--container);margin:0 auto;padding:0 20px}

/* ===== ВЕРХНЯЯ ПАНЕЛЬ ===== */
.topbar{display:flex;align-items:center;gap:12px;justify-content:flex-end;padding:8px 0;color:var(--muted);font-size:13px}
.topbar a{opacity:.9}

/* ===== НАВИГАЦИЯ ===== */
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.8);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;gap:24px;min-height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.2px}
.brand-mark{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent-3));box-shadow:0 0 0 6px rgba(255,77,109,.15);animation: breathe 5.5s ease-in-out infinite;}
.menu{display:flex;gap:18px;margin-left:auto}
.menu a{padding:10px 12px;border-radius:12px;color:var(--ink);font-weight:600}
.menu a:hover{background:var(--grad-1)}
.cta{display:flex;gap:10px;margin-left:8px}
.btn{--bgc: var(--accent);--fgc:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:14px;background:var(--bgc);color:var(--fgc);font-weight:700;box-shadow:var(--shadow-sm);border:1px solid transparent;transition: transform .18s ease, box-shadow .18s ease;}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn.ghost{--bgc: #fff;--fgc: var(--ink);border-color:var(--line)}
.btn.secondary{--bgc:var(--accent-2)}

@keyframes breathe{
    0%,100%{ box-shadow:0 0 0 6px rgba(255,77,109,.15); transform: scale(1) }
    50%{ box-shadow:0 0 0 10px rgba(255,77,109,.10); transform: scale(1.03) }
}

/* ===== ГЕРОЙ (контейнерная ширина) ===== */
.hero{
    padding:72px 0 48px;
}
.hero .container{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:40px;
    align-items:center;
}
/* левая колонка */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:12px}
.hero .content{max-width:560px}
.hero h1{font-size: clamp(28px, 5vw, 48px);line-height:1.05;margin:10px 0 10px}
.hero p{font-size: clamp(15px, 2.1vw, 18px);color:var(--muted)}
.hero .hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}

/* правая колонка — плашка с явным текстом */
.hero-canvas{
    position:relative;
    border-radius: var(--radius-xl);
    border:1px solid var(--line);
    box-shadow: var(--shadow-md);
    padding:32px;
    background:#fff;
    overflow:hidden;
    min-height:340px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    gap:12px;
}
.hero-canvas h2{
    margin:0 0 10px;
    font-size: clamp(20px, 2.5vw, 26px);
}
.hero-canvas p{
    margin:0;
    color:var(--muted);
    line-height:1.55;
    font-size:16px;
    max-width:520px;
}
.hero-canvas .inner-text{position:relative;z-index:2}
.brand-stamp{
    position:absolute; top:14px; right:14px;
    display:inline-flex; align-items:center; gap:8px;
    font-weight:800; letter-spacing:.2px; font-size:13px;
    padding:8px 12px; border-radius:999px; background:#fff;
    border:1px solid var(--line); box-shadow: var(--shadow-sm);
    z-index:2;
}
.brand-stamp .dot{ width:10px; height:10px; border-radius:50%;
    background:linear-gradient(135deg,var(--accent),var(--accent-3));
    box-shadow:0 0 0 4px rgba(255,77,109,.15);
}

/* декоративные слои внутри плашки */
.orb{ position:absolute; filter: blur(6px); opacity:.9; mix-blend-mode: multiply; }
.orb-a{ width:300px; height:300px; left:-40px; top:-40px;
    background: radial-gradient(circle at 30% 30%, var(--grad-1), transparent 60%);
    animation: floatA 10s ease-in-out infinite;}
.orb-b{ width:240px; height:240px; right:-30px; top:20px;
    background: radial-gradient(circle at 70% 40%, var(--grad-2), transparent 60%);
    animation: floatB 12s ease-in-out infinite;}
.orb-c{ width:280px; height:280px; right:10%; bottom:-60px;
    background: radial-gradient(circle at 50% 50%, var(--grad-3), transparent 60%);
    animation: floatC 11s ease-in-out infinite;}
@keyframes floatA { 0%,100%{ transform:translate(0,0)} 50%{transform:translate(8px, -10px)} }
@keyframes floatB { 0%,100%{ transform:translate(0,0)} 50%{transform:translate(-6px, 12px)} }
@keyframes floatC { 0%,100%{ transform:translate(0,0)} 50%{transform:translate(10px, 8px)} }

.gridlines{
    position:absolute; inset:0;
    background:
    linear-gradient(to right, rgba(0,0,0,.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0,0,0,.04) 1px, transparent 1px);
    background-size: 24px 24px;
    mask-image: radial-gradient(90% 80% at 60% 40%, #000 60%, transparent 100%);
    pointer-events:none;
}
.neuro-wave{
    position:absolute; left:6%; bottom:14%;
    width:88%; height:auto;
    filter: drop-shadow(0 6px 18px rgba(16,16,20,.10));
    opacity:.95;
}

/* ===== СЕКЦИИ / ЗАГОЛОВКИ ===== */
.section{padding:100px 0 50px;border-top:1px solid var(--line)}
.section h2{font-size: clamp(22px, 3vw, 28px);margin:0 0 18px;position:relative;display:inline-block;padding-bottom:6px}
.section h2::after{
    content:"";position:absolute;left:0;bottom:0;height:4px;width:64%;
    background: linear-gradient(90deg, var(--accent), var(--accent-3));
    border-radius:4px;box-shadow: 0 6px 18px rgba(16,16,20,.08);
}
.lead{color:var(--muted);margin-bottom:18px}
.section h2,
.section h3 {
    margin-bottom: 30px; 
}

/* ===== НОВОСТИ ===== */
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;position:relative;
    background:
    conic-gradient(from 90deg at 12px 12px, rgba(0,0,0,.06) 0 90deg, transparent 0) top left/12px 12px no-repeat,
    conic-gradient(from 180deg at calc(100% - 12px) 12px, rgba(0,0,0,.06) 0 90deg, transparent 0) top right/12px 12px no-repeat,
    conic-gradient(from 0deg at 12px calc(100% - 12px), rgba(0,0,0,.06) 0 90deg, transparent 0) bottom left/12px 12px no-repeat,
    conic-gradient(from -90deg at calc(100% - 12px) calc(100% - 12px), rgba(0,0,0,.06) 0 90deg, transparent 0) bottom right/12px 12px no-repeat;
}
.card .cover{height:150px;background:
    radial-gradient(400px 200px at 20% 30%, var(--grad-1), transparent 60%),
    radial-gradient(220px 180px at 80% 40%, var(--grad-2), transparent 60%),
    radial-gradient(300px 160px at 60% 80%, var(--grad-3), transparent 60%);}
.card .body{padding:16px}
.card .kicker{font-size:12px;color:var(--muted)}
.card h3{font-size:18px;margin:6px 0}
.card .actions{display:flex;gap:10px;margin-top:auto;padding:0 16px 16px}
.card::after{
    content:"";position:absolute;top:10px;right:10px;width:8px;height:8px;border-radius:50%;
    background:linear-gradient(135deg,var(--accent),var(--accent-3));
    box-shadow:0 0 0 3px rgba(255,77,109,.15);opacity:.9;
}
.card .cover{
    height:150px;
    overflow:hidden;
}
.card .cover img{
    width:100%;
    height:100%;
    object-fit:cover; /* картинка заполняет блок и обрезается */
    display:block;
}

/* ===== ОРГАНИЗАТОРЫ / НАВИГАЦИЯ ===== */
.list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.list .item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;display:flex;gap:12px;align-items:center}
.list .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);position:relative}
.list .dot.alt{background:var(--accent-2);}
.list .dot,
.list .dot.alt {
    flex-shrink: 0;         /* не сжимать */
    width: 10px;            /* одинаковые размеры */
    height: 10px;
    border-radius: 50%;     /* идеально круг */
    display: inline-block;  /* гарантированная форма */
}
.list .dot::after{
    content:"";position:absolute;inset:-6px;border-radius:50%;
    box-shadow: 0 0 0 0 rgba(255,77,109,.18);animation: pulse 2.6s ease-out infinite;
}
.list .dot.alt::after{ box-shadow: 0 0 0 0 rgba(34,165,197,.18); }
@keyframes pulse{
    0%{ box-shadow: 0 0 0 0 rgba(0,0,0,.18); opacity:1 }
    70%{ box-shadow: 0 0 0 10px rgba(0,0,0,0); opacity:.3 }
    100%{ box-shadow: 0 0 0 0 rgba(0,0,0,0); opacity:0 }
}

.navgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.navtile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:18px 18px 16px;box-shadow:var(--shadow-sm);min-height:120px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:.18s ease}
.navtile h3{margin:0;font-size:18px}
.navtile p{margin:8px 0 0;color:var(--muted)}
.navtile::before{
    content:"";position:absolute;inset:0;
    background:
    linear-gradient(to right, rgba(0,0,0,.035) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0,0,0,.035) 1px, transparent 1px);
    background-size: 20px 20px;opacity:.7;
    mask-image: radial-gradient(120% 120% at 100% 0%, #000 50%, transparent 90%);
    pointer-events:none;
}
.navtile:hover{transform: translateY(-2px);box-shadow: var(--shadow-md);border-color: rgba(0,0,0,.06);}

/* ===== О КОНГРЕССЕ ===== */
.about{display:grid;grid-template-columns:2fr 1fr;gap:14px;align-items:start}
.about .panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-xl);padding:20px;box-shadow:var(--shadow-sm);position:relative}
.about .panel p {
    text-align: justify;
}


/* ===== ФУТЕР ===== */
.footer{margin-top:32px;padding:24px 0 40px;color:var(--muted);border-top:1px solid var(--line)}
.footer .grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}

/* ===== МЕЛОЧИ ===== */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.kbd{font-variant-numeric:tabular-nums}

/* ===== АДАПТИВ ===== */
@media (max-width: 1024px){
    .hero .container{grid-template-columns:1fr}
    .hero-canvas{order:2}
}
@media (max-width: 960px){
    .menu{display:none}
    .news{grid-template-columns:1fr 1fr}
    .list{grid-template-columns:1fr 1fr}
    .navgrid{grid-template-columns:1fr 1fr}
    .about{grid-template-columns:1fr}
}
@media (max-width: 560px){
    .nav-inner{min-height:60px}
    .hero{ padding: 48px 0 24px; }
    .hero-canvas{ min-height: 300px; }
    .news{grid-template-columns:1fr}
    .list{grid-template-columns:1fr}
    .navgrid{grid-template-columns:1fr}
}