@charset "UTF-8";
:root{
  --bg:#fff; --fg:#0a0a0a; --muted:#6b7280; --link:#1e66f5; --link-hover:#ff0000; --line:#eee;
  --max:720px; --max-nav:1040px; --r:18px; --header-h:64px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;padding-top:var(--header-h);background:var(--bg);color:var(--fg);
  font:16px/1.65 system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
header{position:fixed;top:0;left:0;right:0;width:100%;
  background:rgba(255,255,255,.95);backdrop-filter:saturate(140%) blur(6px);
  border-bottom:1px solid var(--line);z-index:100}
.nav{max-width:var(--max-nav);margin:0 auto;padding:0 20px;height:var(--header-h);
  display:flex;align-items:center;gap:14px;justify-content:space-between;position:relative}
.brand a{font-weight:700;letter-spacing:.2px;color:inherit;text-decoration:none}
.menu{display:flex;flex-wrap:nowrap;gap:12px}
.menu a{padding:6px 8px;border-radius:8px;text-decoration:none;color:var(--link)}
.menu a:hover,.menu a:focus{background:#f6f7f9}
/* Burger */
.burger{display:none;align-items:center;justify-content:center;width:40px;height:40px;
  border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}
.burger span{position:relative;display:block;width:18px;height:2px;background:#111}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:#111}
.burger span::before{top:-6px}
.burger span::after{top:6px}
@media (max-width: 640px){
  .burger{display:inline-flex}
  .menu{display:none;position:absolute;left:0;right:0;top:var(--header-h);background:#fff;border-bottom:1px solid var(--line);padding:10px 20px;flex-direction:column;gap:10px}
  .menu.open{display:flex}
}
main.wrap{max-width:var(--max);margin:0 auto;padding:calc(var(--r)*2) 20px;}
/* Headings */
h1{font-size:clamp(28px,6vw,44px);line-height:1.2;letter-spacing:-.02em;margin-top:calc(var(--r)*2.2);margin-bottom:calc(var(--r)*0.9)}
h2{font-size:clamp(20px,3.5vw,28px);line-height:1.25;margin-top:calc(var(--r)*2.0);margin-bottom:calc(var(--r)*0.9)}
h3{font-size:clamp(18px,2.5vw,22px);line-height:1.25;margin-top:calc(var(--r)*1.6);margin-bottom:calc(var(--r)*0.8)}
p{margin:0 0 var(--r)}
.lead{color:var(--muted)}
ul.plain{list-style:none;padding:0;margin:0}
ul.plain li{margin:0 0 calc(var(--r)*1.2)}
.bulleted{list-style:disc;padding-left:20px;margin:0 0 var(--r)}
.bulleted li{margin:0 0 calc(var(--r)*1.15)}
.hr{height:1px;background:#eee;margin:calc(var(--r)*2) 0}
footer{color:var(--muted);margin-top:calc(var(--r)*4);padding-bottom:calc(var(--r)*2)}
a.link{color:var(--link);box-shadow:inset 0 -2px 0 #cbd5e1;transition:box-shadow .15s ease}
a.link:hover{box-shadow:inset 0 -3px 0 #94a3b8}
.active{box-shadow:inset 0 -2px 0 #111}
/* Avatar */
.avatar{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin:calc(var(--r)*1.5) 0}
.avatar img{width:128px;height:128px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}
/* Anchor offset */
section[id]{scroll-margin-top:calc(var(--header-h) + 12px)}
/* Small mobile pad so header doesn't touch photo */
@media (max-width: 640px){ #top{ padding-top: 8px; } }
a:hover, .menu a:hover, a.link:hover{ color: var(--link-hover); }

/* Speaker photos grid */
.speaker-photos{ display:grid; grid-template-columns:1fr; gap:12px; max-width:480px; }
.speaker-photos img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:12px; border:1px solid var(--line); }

@media (min-width: 640px){ .speaker-photos{ grid-template-columns:repeat(2,1fr); max-width:600px; } }

/* Lightbox */
.lightbox{ position:fixed; inset:0; background:rgba(0,0,0,.8); display:none; align-items:center; justify-content:center; z-index:1000; }
.lightbox.open{ display:flex; }
.lightbox__img{ max-width:92vw; max-height:88vh; border-radius:12px; box-shadow:0 10px 30px rgba(0,0,0,.4); }
.lightbox__close{ position:absolute; top:12px; right:12px; background:#fff; border:1px solid var(--line); border-radius:10px; padding:8px 10px; cursor:pointer; }


/* Lightbox animation */
.lightbox{ display:flex; opacity:0; pointer-events:none; transition: opacity .25s ease; }
.lightbox.open{ opacity:1; pointer-events:auto; }
.lightbox__img{ transform: scale(.985); opacity:.98; transition: transform .25s ease, opacity .25s ease; }
.lightbox.open .lightbox__img{ transform: scale(1); opacity:1; }


/* Footer contact bar */
footer .contact-bar{ display:flex; flex-wrap:wrap; align-items:center; gap:12px;
  margin-top:calc(var(--r)*3); font-size:clamp(16px,2.6vw,18px); }
footer .contact-link{ color:var(--fg); text-decoration:none; box-shadow:inset 0 -2px 0 #cbd5e1; }
footer .contact-link:hover{ color:var(--link-hover); box-shadow:inset 0 -3px 0 #94a3b8; }
footer .sep{ color:#cbd5e1; }
footer .copy{ color:var(--muted); margin-top:12px; }
@media (max-width: 640px){
  footer .contact-bar{ flex-direction:column; align-items:flex-start; gap:6px; }
  footer .sep{ display:none; }
}


/* Bottom contacts section (like on sladom.ru) */
.contacts-section{ margin-top:calc(var(--r)*3); }
.contacts-grid{ display:grid; grid-template-columns:1fr; gap:18px 24px; }
.contacts-item h3{ margin-top:var(--r); margin-bottom:8px; }
.contacts-section .socials a{ display:block; margin-right:0; }
@media (min-width: 720px){
  .contacts-grid{ grid-template-columns:repeat(3,1fr); }
}

/* Responsive video */
.video-embed{ position:relative; width:100%; max-width:720px; border-radius:12px; overflow:hidden; box-shadow:0 4px 16px rgba(0,0,0,.04); }
.video-embed::before{ content:""; display:block; padding-top:56.25%; }
.video-embed iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }


/* Bottom contacts section */
.contacts-section{ margin-top:calc(var(--r)*3); }
.contacts-grid{ display:grid; grid-template-columns:1fr; gap:18px 24px; }
.contacts-item h3{ margin-top:var(--r); margin-bottom:8px; }
.contacts-section .socials a{ display:block; margin-right:0; }
@media (min-width: 720px){
  .contacts-grid{ grid-template-columns:repeat(3,1fr); }
}


/* Lightbox nav arrows */
.lightbox__nav{
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(255,255,255,.9); border:1px solid var(--line);
  border-radius:12px; padding:8px 12px; cursor:pointer; font-size:24px; line-height:1;
}
.lightbox__prev{ left:12px; }
.lightbox__next{ right:12px; }
.lightbox__nav:hover{ background:#fff; }

.contacts-section .socials{ display:flex; flex-direction:column; gap:8px; }


/* No underline for socials in bottom contacts */
.contacts-section .socials a{ text-decoration:none; box-shadow:none !important; }
.contacts-section .socials a:hover{ text-decoration:none; box-shadow:none !important; color:var(--link-hover); }


/* Language switcher */
.lang-switch{ margin-left:auto; display:flex; align-items:center; gap:10px; color:var(--muted); font-size:14px; white-space:nowrap; }
.lang-switch a{ color:inherit; text-decoration:none; }
.lang-switch a:hover{ color:var(--link-hover); text-decoration:none; }


/* Lang switch active */
.lang-switch a.active{ font-weight:700; box-shadow:inset 0 -2px 0 #111; }

/* Active language (non-clickable) */
.lang-switch .active{ font-weight:700; box-shadow:inset 0 -2px 0 #111; cursor:default; }
