*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Montserrat',sans-serif;color:#222;background:#fff;overflow-x:hidden;}
:root{
  --teal:#0ABAB5;
  --white:#fff;
  --dark:#2d2d3a;
  --col-gap:24px;
  --container-max:1200px;
  --container-px:48px;
}

/* ===== GRID ===== */
.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-px);}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--col-gap);}
.col-3{grid-column:span 3}.col-4{grid-column:span 4}
.col-5{grid-column:span 5}.col-7{grid-column:span 7}.col-12{grid-column:span 12}

/* ===== POLKA DOT ===== */
.dotted-bg{
  background-color:#d8eded;
  background-image:radial-gradient(circle,rgba(255,255,255,0.88) 9px,transparent 9px);
  background-size:26px 26px;
}

/* ===== HEADER ===== */
.header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:var(--teal);height:72px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 var(--container-px);
}
.header-left{display:flex;align-items:center;gap:14px;cursor:pointer;}
.header-left svg{width:42px;height:42px;flex-shrink:0;}
.header-left span{color:var(--white);font-weight:700;font-size:28px;}
.header-nav{display:flex;align-items:center;gap:24px;}
.header-nav a{color:var(--white);display:flex;text-decoration:none;transition:opacity .2s;}
.header-nav a:hover{opacity:.8;}
.header-nav a svg{width:44px;height:44px;}

/* Hamburger */
.hamburger{display:none;background:none;border:none;cursor:pointer;padding:4px;}
.hamburger svg{width:36px;height:36px;}

/* ===== MOBILE MENU ===== */
.mobile-menu{
  position:fixed;inset:0;z-index:2000;
  background:var(--teal);
  display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:48px;
  transform:translateX(100%);transition:transform .35s ease;
}
.mobile-menu.active{transform:translateX(0);}
.mobile-menu-close{
  position:absolute;top:16px;right:20px;
  background:none;border:none;cursor:pointer;
}
.mobile-menu-close svg{width:36px;height:36px;}
.mobile-menu-item{
  display:flex;flex-direction:column;align-items:center;gap:12px;
  text-decoration:none;color:var(--white);
}
.mobile-menu-item svg{width:56px;height:56px;}
.mobile-menu-item span{font-weight:700;font-size:22px;text-align:center;line-height:1.3;}

/* ===== HERO ===== */
.hero{
  margin-top:72px;background:#2a3848;position:relative;
  height:calc(100vh - 72px);min-height:560px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.hero-bg{
  position:absolute;inset:0;
  background:url('/static/фон.png') center/cover no-repeat;
}
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to top,rgba(20,28,40,.82) 0%,rgba(20,28,40,.80) 50%,rgba(20,28,40,.80) 100%);
}
.hero-frame{
  position:absolute;top:44px;left:56px;right:56px;bottom:44px;
  border:2px solid rgba(10,186,181,.65);z-index:2;pointer-events:none;
}
.hero-content{
  position:relative;z-index:3;text-align:center;
  padding:0 clamp(32px,8vw,160px);
}
.hero-title{
  font-weight:900;font-size:clamp(38px,5.8vw,72px);
  color:var(--white);line-height:1.08;margin-bottom:20px;
  letter-spacing:-0.5px;text-shadow:0 4px 32px rgba(0,0,0,.45);
}
.hero-subtitle{
  font-weight:400;font-size:clamp(16px,2vw,24px);
  color:rgba(255,255,255,.82);font-style:italic;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.hero-cursor{
  position:absolute;bottom:50px;right:70px;z-index:4;
  width:150px;height:150px;opacity:.55;
}

/* Mobile hero elements (hidden on desktop) */
.hero-mobile-info{display:none;}

/* ===== SECTIONS ===== */
.section{padding:80px 0;}
#audience{padding-top:140px;}

/* ===== AUDIENCE ===== */
.bubble-wrap{display:flex;justify-content:center;margin-bottom:100px;}
.bubble-container{
  position:relative;display:inline-flex;
  align-items:center;justify-content:center;padding:20px 80px;
}
.bubble-container svg.bubble-svg{
  position:absolute;top:58%;left:50%;width:120%;height:auto;
  transform:translate(-50%,-50%);max-height:300%;
}
.bubble-container h2{
  position:relative;z-index:2;font-weight:900;
  font-size:clamp(28px,4.5vw,52px);color:#222;white-space:nowrap;
}
/* Mobile audience title (hidden on desktop) */
.audience-mobile-title{display:none;}

.audience-card{text-align:center;display:flex;flex-direction:column;align-items:center;}
.audience-card h3{font-weight:800;font-size:20px;margin-bottom:12px;}
.audience-card p{font-weight:400;font-size:15px;color:#444;line-height:1.6;margin-bottom:24px;max-width:280px;}

/* Frame placeholders */
.frame-box{
  position:relative;width:100%;max-width:260px;aspect-ratio:1/1;
  border:2.5px solid var(--teal);background:var(--white);
  display:flex;align-items:center;justify-content:center;
}
.handle{position:absolute;width:14px;height:14px;border:2.5px solid var(--teal);background:var(--white);z-index:3;}
.h-tl{top:-8px;left:-8px;}.h-tr{top:-8px;right:-8px;}
.h-bl{bottom:-8px;left:-8px;}.h-br{bottom:-8px;right:-8px;}
.h-tc{top:-8px;left:50%;transform:translateX(-50%);}
.h-bc{bottom:-8px;left:50%;transform:translateX(-50%);}
.h-ml{top:50%;left:-8px;transform:translateY(-50%);}
.h-mr{top:50%;right:-8px;transform:translateY(-50%);}
.frame-box .frame-icon{width:55%;height:55%;}
.audience-card .frame-icon{
  width:180px;height:180px;
  background:transparent;
  padding:24px;
  object-fit:contain;
  margin-bottom:20px;
}

/* ===== SPEAKERS ===== */
.speakers-inner{position:relative;}
.speakers-header{display:flex;align-items:center;gap:16px;margin-bottom:48px;}
.speakers-header svg.ppl{width:60px;height:60px;flex-shrink:0;}
.speakers-header h2{font-weight:900;font-size:clamp(28px,4.5vw,54px);color:#222;}
.megaphone-svg{position:absolute;top:-30px;right:-30px;width:320px;height:auto;z-index:0;opacity:.9;}
.speakers-header,.speakers-grid,.speakers-text{position:relative;z-index:1;}
.sp-card{display:flex;flex-direction:column;gap:10px;}
.sp-photo{
  position:relative;width:100%;aspect-ratio:3/4;
  border:2.5px solid var(--teal);background:var(--white);
}
.sp-photo .handle{width:12px;height:12px;}
.sp-photo .h-tl{top:-7px;left:-7px;}.sp-photo .h-tr{top:-7px;right:-7px;}
.sp-photo .h-bl{bottom:-7px;left:-7px;}.sp-photo .h-br{bottom:-7px;right:-7px;}
.sp-photo .h-tc{top:-7px;left:50%;transform:translateX(-50%);}
.sp-photo .h-bc{bottom:-7px;left:50%;transform:translateX(-50%);}
.sp-photo .h-ml{top:50%;left:-7px;transform:translateY(-50%);}
.sp-photo .h-mr{top:50%;right:-7px;transform:translateY(-50%);}
.sp-name{width:100%;height:32px;border:2.5px solid var(--teal);background:var(--white);position:relative;}
.sp-name .handle{width:10px;height:10px;}
.sp-name .h-ml{top:50%;left:-6px;transform:translateY(-50%);}
.sp-name .h-mr{top:50%;right:-6px;transform:translateY(-50%);}
.speakers-text{text-align:center;font-size:clamp(18px,2.5vw,30px);color:#222;line-height:1.55;margin-top:56px;}
.speakers-text strong{font-weight:800;text-decoration:underline;text-decoration-color:var(--teal);text-underline-offset:5px;text-decoration-thickness:3px;}

/* ===== SPEAKERS SLIDER ===== */
.sp-slider-wrap{
  display:flex;align-items:center;gap:16px;
  position:relative;z-index:1;
  margin-top:8px;
}
.sp-slider{
  flex:1;overflow:hidden;
  position:relative;min-height:340px;
}
.sp-slide{
  display:none;
  align-items:center;gap:40px;
}
.sp-slide.active{display:flex;}
.sp-slide-photo{
  position:relative;
  flex-shrink:0;width:240px;height:320px;
  border:2.5px solid var(--teal);background:var(--white);
}
.sp-slide-photo .handle{width:12px;height:12px;}
.sp-slide-photo .h-tl{top:-7px;left:-7px;}.sp-slide-photo .h-tr{top:-7px;right:-7px;}
.sp-slide-photo .h-bl{bottom:-7px;left:-7px;}.sp-slide-photo .h-br{bottom:-7px;right:-7px;}
.sp-slide-photo .h-tc{top:-7px;left:50%;transform:translateX(-50%);}
.sp-slide-photo .h-bc{bottom:-7px;left:50%;transform:translateX(-50%);}
.sp-slide-photo .h-ml{top:50%;left:-7px;transform:translateY(-50%);}
.sp-slide-photo .h-mr{top:50%;right:-7px;transform:translateY(-50%);}
.sp-slide-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.sp-slide-info{flex:1;display:flex;flex-direction:column;gap:20px;}
.sp-slide-name{
  border:2.5px solid var(--teal);
  padding:14px 20px;
  font-weight:800;font-size:clamp(16px,1.8vw,22px);color:#222;
  background:var(--white);
}
.sp-slide-bio{
  font-size:clamp(13px,1.2vw,16px);color:#333;
  line-height:1.65;font-weight:400;
}
.sp-slider-prev,.sp-slider-next{
  flex-shrink:0;background:none;border:none;cursor:pointer;
  padding:8px;display:flex;align-items:center;
  transition:transform .2s;
}
.sp-slider-prev:hover{transform:translateX(-4px);}
.sp-slider-next:hover{transform:translateX(4px);}
.sp-slider-prev svg,.sp-slider-next svg{width:48px;height:48px;}

/* ===== PROGRAM ===== */
.program{position:relative;min-height:80vh;overflow:hidden;}
.program-inner{position:relative;z-index:2;}
.program-header{display:flex;align-items:center;gap:24px;}
.program-header h2{font-weight:900;font-size:clamp(28px,4.5vw,54px);color:#222;}
.program-header svg.cal{width:90px;height:90px;flex-shrink:0;}
.zigzag-deco{position:absolute;bottom:-20px;right:-40px;width:55%;max-width:700px;height:auto;z-index:1;pointer-events:none;}

/* ===== CERTIFICATES PAGE ===== */
.cert-page{
  min-height:100vh;
  background-color:var(--teal);
  background-image:radial-gradient(circle,rgba(255,255,255,0.18) 9px,transparent 9px);
  background-size:32px 32px;
  display:flex;align-items:center;justify-content:center;
  padding:40px 24px;
}
.cert-inner{
  border:3px solid rgba(255,255,255,0.7);
  padding:56px 60px 48px;
  max-width:900px;width:100%;
  display:flex;flex-direction:column;gap:40px;
  position:relative;
}
.cert-text-block{
  display:flex;align-items:flex-end;justify-content:space-between;gap:32px;
}
.cert-title{
  font-weight:900;font-size:clamp(36px,5vw,72px);
  color:var(--white);line-height:1.1;
  display:flex;flex-wrap:wrap;align-items:center;gap:16px;
}
.cert-robot{width:56px;height:56px;flex-shrink:0;}
.cert-cat{
  position:relative;flex-shrink:0;
  display:flex;align-items:flex-end;
}
.cert-cat-img{
  width:clamp(140px,18vw,240px);
  object-fit:contain;position:relative;z-index:1;
}
.cert-heart{
  position:absolute;top:-20px;right:-20px;
  width:clamp(70px,9vw,110px);height:auto;
  z-index:0;
}
.cert-footer-line{
  display:flex;align-items:center;gap:16px;
}
.cert-star-icon{width:44px;height:44px;flex-shrink:0;}
.cert-wait{
  font-weight:800;font-size:clamp(20px,3vw,36px);
  color:var(--white);letter-spacing:0.01em;
}

@media(max-width:768px){
  .cert-inner{padding:36px 24px 32px;}
  .cert-text-block{flex-direction:column;align-items:flex-start;}
  .cert-cat{align-self:flex-end;}
}

/* ===== MATERIALS PAGE ===== */
.materials-page{
  min-height:calc(100vh - 72px);
  margin-top:72px;
  padding:64px 0 80px;
}
.materials-header{
  display:flex;align-items:center;gap:20px;
  margin-bottom:48px;
}
.materials-icon{width:72px;height:72px;flex-shrink:0;}
.materials-header h2{
  font-weight:900;font-size:clamp(28px,4.5vw,54px);color:#222;
}
.materials-list{
  display:flex;flex-direction:column;gap:24px;
  max-width:860px;
}
.speaker-card{
  border:2px solid var(--teal);
  background:var(--white);
  padding:20px 28px;
}
.speaker-card-inner{
  display:flex;align-items:center;gap:24px;
}
.speaker-avatar-wrap{flex-shrink:0;}
.speaker-avatar{
  width:80px;height:80px;border-radius:50%;
  background:#c8c8c8;overflow:hidden;
}
.speaker-avatar img{width:100%;height:100%;object-fit:cover;}
.speaker-info{display:flex;flex-direction:column;gap:6px;}
.speaker-name{
  font-weight:800;font-size:clamp(16px,2vw,20px);color:#222;
  margin:0;
}
.speaker-file{
  font-weight:600;font-size:clamp(13px,1.5vw,16px);
  color:var(--teal);text-decoration:none;word-break:break-all;
}
.speaker-file:hover{text-decoration:underline;}

/* ===== GALLERY PAGE ===== */
.gallery-page{
  min-height:calc(100vh - 72px);
  margin-top:72px;
  padding:64px 0 80px;
}
.gallery-page-header{
  display:flex;align-items:center;gap:20px;
  margin-bottom:48px;
}
.gallery-page-icon{width:64px;height:64px;flex-shrink:0;}
.gallery-page-header h2{
  font-weight:900;font-size:clamp(28px,4.5vw,54px);color:#222;
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px;
}
.gallery-frame{
  position:relative;
  width:100%;aspect-ratio:4/3;
  border:2.5px solid var(--teal);
  background:#d8d8d8;
  overflow:hidden;
}
.gallery-frame img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
}
.gallery-frame .handle{position:absolute;width:14px;height:14px;border:2.5px solid var(--teal);background:var(--white);z-index:3;}
.gallery-frame .h-tl{top:-8px;left:-8px;}.gallery-frame .h-tr{top:-8px;right:-8px;}
.gallery-frame .h-bl{bottom:-8px;left:-8px;}.gallery-frame .h-br{bottom:-8px;right:-8px;}
.gallery-frame .h-tc{top:-8px;left:50%;transform:translateX(-50%);}
.gallery-frame .h-bc{bottom:-8px;left:50%;transform:translateX(-50%);}
.gallery-frame .h-ml{top:50%;left:-8px;transform:translateY(-50%);}
.gallery-frame .h-mr{top:50%;right:-8px;transform:translateY(-50%);}

/* ===== GALLERY VIDEOS ===== */
.gallery-videos{
  display:flex;
  flex-direction:column;
  gap:32px;
  margin-bottom:48px;
}
.gallery-video-block{
  position:relative;
  width:100%;
  border:2.5px solid var(--teal);
  background:#000;
}
.gallery-video-block video{
  display:block;
  width:100%;
  height:auto;
}
.gallery-video-block .handle{width:14px;height:14px;border:2.5px solid var(--teal);background:var(--white);z-index:3;position:absolute;}
.gallery-video-block .h-tl{top:-8px;left:-8px;}.gallery-video-block .h-tr{top:-8px;right:-8px;}
.gallery-video-block .h-bl{bottom:-8px;left:-8px;}.gallery-video-block .h-br{bottom:-8px;right:-8px;}
.gallery-video-block .h-tc{top:-8px;left:50%;transform:translateX(-50%);}
.gallery-video-block .h-bc{bottom:-8px;left:50%;transform:translateX(-50%);}
.gallery-video-block .h-ml{top:50%;left:-8px;transform:translateY(-50%);}
.gallery-video-block .h-mr{top:50%;right:-8px;transform:translateY(-50%);}

/* ===== PROGRAM PDF ===== */
.program-pdf{
  margin-top:40px;
  position:relative;z-index:2;
  border:2.5px solid var(--teal);
  background:var(--white);
}
.program-pdf-frame{
  width:100%;
  height:700px;
  border:none;
  display:block;
}
.program-pdf-download{
  display:flex;align-items:center;gap:8px;
  padding:12px 20px;
  background:var(--teal);color:var(--white);
  font-weight:700;font-size:15px;text-decoration:none;
  width:fit-content;margin-top:12px;
  transition:opacity .2s;
}
.program-pdf-download:hover{opacity:.85;}

/* ===== CTA SECTION ===== */
.cta-section{padding:48px 0;}
.cta-steps{display:flex;flex-direction:column;gap:16px;margin-bottom:32px;}
.cta-steps p{font-weight:700;font-size:clamp(18px,4vw,24px);color:#222;}
.cta-photo{width:100%;min-height:300px;background:#bbb;margin-bottom:0;}

/* ===== MAP & GALLERY ===== */
.map-block{
  background-color:#ddd;
  background-image:radial-gradient(circle,rgba(255,255,255,.8) 7px,transparent 7px);
  background-size:24px 24px;
  min-height:360px;display:flex;align-items:center;justify-content:center;
}
.map-block span{font-weight:600;font-size:22px;color:#777;}
.gallery-block{background:#d5d5d5;min-height:360px;display:flex;align-items:center;justify-content:center;padding:30px;}
.gallery-block span{font-weight:700;font-size:20px;color:#333;text-align:center;line-height:1.5;}

/* ===== FOOTER ===== */
.footer{background:var(--teal);color:var(--white);padding:32px 0;}
.footer p{font-size:15px;line-height:1.8;font-weight:600;}
.footer p strong{font-weight:800;}

/* =============================================================
   RESPONSIVE — TABLET
   ============================================================= */
@media(max-width:992px){
  :root{--container-px:24px;--col-gap:16px;}
  .header{padding:0 24px;height:60px;}
  .header-left span{font-size:20px;}
  .header-left svg{width:30px;height:30px;}
  .header-nav a svg{width:34px;height:34px;}
  .hero{margin-top:60px;}
  .hero-frame{left:20px;right:20px;top:20px;bottom:20px;}
  .hero-cursor{display:none;}
  .section{padding:56px 0;}
  .megaphone-svg{width:180px;top:0;right:-10px;}
  .zigzag-deco{width:70%;right:-20px;}
}

/* =============================================================
   RESPONSIVE — MOBILE (<768px)
   ============================================================= */
@media(max-width:768px){
  :root{--container-px:20px;--col-gap:14px;}

  /* Header: hide nav, show hamburger */
  .header-nav{display:none;}
  .hamburger{display:flex;}
  .header{height:56px;}
  .header-left svg{width:28px;height:28px;}
  .header-left span{font-size:18px;}

  /* Hero: completely different on mobile */
  .hero{
    height:auto;min-height:auto;
    margin-top:56px;
    background:none;
    flex-direction:column;
  }
  .hero-bg,.hero-frame,.hero-cursor{display:none;}
  .hero.dotted-bg-mob{
    background-color:#d8eded;
    background-image:radial-gradient(circle,rgba(255,255,255,0.88) 9px,transparent 9px);
    background-size:26px 26px;
  }
  .hero-content{
    padding:48px var(--container-px) 12px;
    text-align:center;
  }
  .hero-title{
    font-size:26px;color:#222;
    text-shadow:none;font-weight:900;
    margin-bottom:10px;line-height:1.2;
  }
  .hero-subtitle{
    color:#444;font-size:14px;
    text-shadow:none;font-style:normal;
    font-weight:400;
    margin-bottom:0;
  }
  .hero-mobile-info{
    display:flex;flex-direction:column;align-items:center;
    gap:28px;padding:24px var(--container-px) 56px;
    position:relative;z-index:3;
  }
  .hero-logo{width:180px;height:180px;margin:0;}
  .hero-date{font-weight:800;font-size:32px;color:var(--teal);font-style:italic;}
  .hero-location{display:flex;align-items:center;gap:12px;font-weight:800;font-size:24px;color:#222;line-height:1.3;}
  .hero-location svg{width:40px;height:40px;color:var(--teal);flex-shrink:0;}

  /* Audience: change layout */
  .bubble-wrap{display:none;}
  .audience-mobile-title{
    display:block;text-align:center;
    font-weight:900;font-size:26px;color:#222;
    margin-bottom:32px;
  }
  .audience-grid-resp{grid-template-columns:1fr !important;}
  .audience-grid-resp .col-4{grid-column:span 1;}
  .audience-card{
    flex-direction:row;text-align:left;
    gap:20px;align-items:flex-start;
  }
  .audience-card .frame-icon{
    width:110px;height:110px;
    min-width:110px;flex-shrink:0;
    padding:16px;margin-bottom:0;
  }
  .audience-card .card-text{flex:1;}
  .audience-card .card-text h3{font-size:18px;margin-bottom:8px;}
  .audience-card .card-text p{font-size:14px;margin-bottom:0;max-width:none;}

  /* Speakers */
  .speakers-header svg.ppl{display:none;}
  .speakers-header{margin-bottom:24px;}
  .speakers-header h2{font-size:26px;}
  .megaphone-svg{display:none;}
  .grid .col-3{grid-column:span 6;}

  /* Program */
  .program{min-height:auto;}
  .program-header{flex-direction:column;align-items:flex-start;gap:12px;}
  .program-header svg.cal{width:60px;height:60px;}
  .program-header h2{font-size:24px;}
  .zigzag-deco{display:none;}

  /* Materials page */
  .materials-page{margin-top:56px;padding:40px 0 60px;}
  .materials-icon{width:48px;height:48px;}
  .speaker-card{padding:16px 18px;}
  .speaker-avatar{width:64px;height:64px;}

  /* Gallery page */
  .gallery-page{margin-top:56px;padding:40px 0 60px;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);gap:20px;}
  .gallery-page-icon{width:48px;height:48px;}

  /* Speakers slider */
  .sp-slide{flex-direction:column;gap:20px;}
  .sp-slide-photo{width:100%;max-width:280px;height:240px;align-self:center;}
  .sp-slider-next svg{width:36px;height:36px;}
  .sp-slider{min-height:auto;}

  /* Program PDF */
  .program-pdf-frame{height:400px;}

  /* CTA section */
  .cta-section{display:block;}

  /* Map/Gallery */
  .mg-resp .col-7,.mg-resp .col-5{grid-column:span 12;}
  .map-block,.gallery-block{min-height:240px;}

  /* Footer */
  .footer p{font-size:13px;}
}

/* Hide CTA on desktop */
@media(min-width:769px){
  .cta-section{display:none;}
  .hero{background:#2a3848;}
}