/* FINAL MOBILE EXPERIENCE — phone-first polish. Loaded after every other stylesheet. */
@media (max-width:760px){
  :root{
    --m-pad:16px;
    --m-header:64px;
    --m-green:#032f27;
    --m-cream:#fff8ee;
    --m-gold:#bd8c50;
    --m-line:rgba(255,255,255,.14);
  }

  html{
    -webkit-text-size-adjust:100%!important;
    text-size-adjust:100%!important;
    scroll-padding-top:calc(var(--m-header) + env(safe-area-inset-top) + 12px)!important;
  }
  body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    padding:0!important;
  }
  *,*::before,*::after{box-sizing:border-box!important}
  img{max-width:100%!important;height:auto}
  a,button,input,select,textarea{touch-action:manipulation}
  button,a{ -webkit-tap-highlight-color:transparent }
  input,select,textarea{font-size:16px!important}

  /* Mobile should never depend on reveal animations to show content. */
  html body .reveal,
  html body .reveal.visible{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
  .mouse-glow,.hero-grid,.hero-orb,.marquee,.edition-stamp{display:none!important}

  .container{
    width:calc(100% - (var(--m-pad) * 2))!important;
    max-width:none!important;
    margin-inline:auto!important;
  }
  .section{padding:68px 0!important}
  .section-kicker{
    margin-bottom:14px!important;
    font-size:10px!important;
    line-height:1.2!important;
    letter-spacing:.14em!important;
  }
  .section-title{
    max-width:100%!important;
    margin:0!important;
    font-size:clamp(40px,11vw,54px)!important;
    line-height:.96!important;
    letter-spacing:-.045em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  /* Header: logo + hamburger only, with iPhone safe area. */
  html body .site-header,
  html body .site-header.scrolled{
    top:0!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    height:calc(var(--m-header) + env(safe-area-inset-top))!important;
    padding:env(safe-area-inset-top) 12px 0!important;
    transform:none!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
    border-radius:0!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    background:rgba(3,47,39,.96)!important;
    -webkit-backdrop-filter:blur(18px)!important;
    backdrop-filter:blur(18px)!important;
    box-shadow:0 10px 30px rgba(0,0,0,.12)!important;
  }
  html body .site-header .desktop-nav,
  html body .site-header .header-cta{display:none!important}
  html body .site-header .brand{
    min-width:0!important;
    max-width:230px!important;
    gap:9px!important;
  }
  html body .site-header .brand-mark{
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    flex:0 0 36px!important;
    border-radius:10px!important;
  }
  html body .site-header .brand-text b{
    font-size:12px!important;
    line-height:1!important;
    letter-spacing:.11em!important;
  }
  html body .site-header .brand-text small{
    display:block!important;
    margin-top:4px!important;
    font-size:7px!important;
    line-height:1!important;
    letter-spacing:.10em!important;
    white-space:nowrap!important;
  }
  html body .site-header .menu-toggle{
    display:block!important;
    justify-self:end!important;
    width:46px!important;
    height:46px!important;
    min-height:46px!important;
    border-radius:12px!important;
  }

  /* Full-screen menu: navigation only, no competing purchase/registration CTA. */
  html body .mobile-menu{
    z-index:880!important;
    inset:0!important;
    padding:calc(var(--m-header) + env(safe-area-inset-top) + 18px) 18px calc(24px + env(safe-area-inset-bottom))!important;
    background:rgba(3,47,39,.995)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
  html body .mobile-menu nav{gap:0!important}
  html body .mobile-menu nav>a:not(.button){
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-height:58px!important;
    padding:0 2px!important;
    border-bottom:1px solid rgba(255,255,255,.11)!important;
    font-size:clamp(25px,7.2vw,31px)!important;
    line-height:1.06!important;
    letter-spacing:-.025em!important;
  }
  html body .mobile-menu .button{display:none!important}

  /* Remove the old mixed sticky "early registration / price" CTA. */
  html body .mobile-purchase{display:none!important}

  /* HERO */
  html body main#top .ref-hero{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin-top:calc(var(--m-header) + env(safe-area-inset-top))!important;
    border-radius:0!important;
    overflow:hidden!important;
    background:var(--m-green)!important;
  }
  html body main#top .ref-hero-left{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    min-height:0!important;
    padding:20px var(--m-pad) 26px!important;
    background:var(--m-green)!important;
    overflow:visible!important;
  }
  html body main#top .ref-hero-star,
  html body main#top .ref-hero-date,
  html body main#top .ref-hero-title,
  html body main#top .ref-hero-desc,
  html body main#top .ref-hero-venue,
  html body main#top .ref-hero-actions{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
  }
  html body main#top .ref-hero-star{
    margin:0 0 10px!important;
    font-size:17px!important;
    line-height:1!important;
  }
  html body main#top .ref-hero-date{
    width:205px!important;
    min-height:60px!important;
    height:auto!important;
    margin:0 0 18px!important;
    padding:9px 12px!important;
  }
  html body main#top .ref-hero-date strong{font-size:34px!important;line-height:.82!important}
  html body main#top .ref-hero-date span{margin-top:6px!important;font-size:9.5px!important;letter-spacing:.055em!important}
  html body main#top .ref-hero-title{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    overflow:visible!important;
  }
  html body main#top .ref-hero-title span{
    display:block!important;
    color:var(--m-cream)!important;
    font-size:clamp(56px,17vw,72px)!important;
    line-height:.80!important;
    letter-spacing:-.065em!important;
    white-space:nowrap!important;
  }
  html body main#top .ref-hero-title em{
    display:block!important;
    color:#24dba6!important;
    margin-top:.10em!important;
    font-size:clamp(41px,12.35vw,55px)!important;
    line-height:.87!important;
    letter-spacing:-.065em!important;
    white-space:nowrap!important;
  }
  html body main#top .ref-hero-desc{
    width:100%!important;
    max-width:none!important;
    margin:20px 0 0!important;
    color:#e6eeea!important;
    font-size:15.5px!important;
    line-height:1.55!important;
  }
  html body main#top .ref-hero-venue{
    width:100%!important;
    max-width:none!important;
    margin:16px 0 0!important;
    gap:10px!important;
    color:#eaf0ed!important;
    font-size:12.5px!important;
    line-height:1.5!important;
  }
  html body main#top .ref-hero-venue b{font-size:13px!important}

  /* Exactly two unambiguous actions. */
  html body main#top .ref-hero-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    margin:22px 0 0!important;
  }
  html body main#top .ref-hero-btn,
  html body main#top .ref-hero-btn.primary,
  html body main#top .ref-hero-btn.secondary{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:58px!important;
    height:58px!important;
    margin:0!important;
    padding:0 18px!important;
    border-radius:12px!important;
    font-size:0!important;
    line-height:1!important;
    overflow:hidden!important;
  }
  html body main#top .ref-hero-btn i{display:none!important}
  html body main#top .ref-hero-btn::before{
    display:block!important;
    position:relative!important;
    inset:auto!important;
    width:auto!important;
    height:auto!important;
    background:none!important;
    border:0!important;
    transform:none!important;
    font:800 12px/1 Arial,sans-serif!important;
    letter-spacing:.075em!important;
    color:inherit!important;
    white-space:nowrap!important;
  }
  html body main#top .ref-hero-btn.primary::before{content:"КУПИТИ КВИТОК"!important}
  html body main#top .ref-hero-btn.secondary::before{content:"ЗАБРОНЮВАТИ МІСЦЕ"!important}
  html body main#top .ref-hero-btn.primary{
    background:var(--m-gold)!important;
    border:1px solid var(--m-gold)!important;
    color:#fff!important;
    box-shadow:0 12px 30px rgba(0,0,0,.12)!important;
  }
  html body main#top .ref-hero-btn.secondary{
    background:rgba(255,255,255,.035)!important;
    border:1px solid rgba(238,244,241,.38)!important;
    color:#f5f5ef!important;
    box-shadow:none!important;
  }
  html body main#top .ref-hero-btn:active{transform:scale(.985)!important}

  /* Untouched photo, soft dissolve from content into image. */
  html body main#top .ref-hero-visual{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:300px!important;
    aspect-ratio:4/3!important;
    margin-top:-1px!important;
    background-color:#061a24!important;
    background-image:
      linear-gradient(180deg,
        #032f27 0%,
        rgba(3,47,39,.98) 11%,
        rgba(3,47,39,.91) 23%,
        rgba(3,47,39,.78) 36%,
        rgba(3,47,39,.61) 49%,
        rgba(3,47,39,.43) 61%,
        rgba(3,47,39,.27) 72%,
        rgba(3,47,39,.14) 82%,
        rgba(3,47,39,.05) 90%,
        rgba(3,47,39,0) 97%),
      url("assets/conference-main.jpg")!important;
    background-size:100% 100%,cover!important;
    background-position:center top,center center!important;
    background-repeat:no-repeat,no-repeat!important;
    box-shadow:none!important;
  }
  html body main#top .ref-hero-visual::before{
    top:14px!important;
    right:14px!important;
    width:82px!important;
    height:82px!important;
  }
  html body main#top .ref-hero-visual::after{
    top:20px!important;
    right:106px!important;
    width:min(45vw,178px)!important;
  }
  html body main#top .ref-hero-blend{display:none!important}

  /* About */
  .about-layout{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
    margin-top:0!important;
  }
  .about-copy{padding:0!important}
  .about-copy p{
    margin:0 0 14px!important;
    font-size:16px!important;
    line-height:1.62!important;
  }
  .benefit-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    margin-top:34px!important;
    border-left:0!important;
  }
  .benefit{
    min-height:0!important;
    padding:22px 0!important;
    gap:18px!important;
    border-right:0!important;
  }
  .benefit>span{font-size:10px!important}
  .benefit h3{font-size:23px!important;line-height:1.12!important}
  .benefit p{font-size:15px!important;line-height:1.55!important;max-width:none!important}

  /* Outcomes: native swipe with a visible next-card peek. */
  .outcomes-grid{
    display:flex!important;
    gap:12px!important;
    width:auto!important;
    margin:34px calc(var(--m-pad) * -1) 0!important;
    padding:0 var(--m-pad) 8px!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .outcomes-grid::-webkit-scrollbar{display:none!important}
  .outcome-item{
    flex:0 0 min(84vw,330px)!important;
    min-height:190px!important;
    padding:22px!important;
    scroll-snap-align:start!important;
    transform:none!important;
  }
  .outcome-item strong{font-size:28px!important;line-height:1.05!important}

  /* Program */
  .program-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .day-tabs{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
    padding:4px!important;
    border-radius:14px!important;
  }
  .day-tab{
    min-width:0!important;
    min-height:58px!important;
    padding:10px 8px!important;
    border-radius:10px!important;
    text-align:center!important;
    font-size:14px!important;
    line-height:1.15!important;
  }
  .day-tab span{font-size:9px!important;line-height:1.1!important;margin-top:4px!important}
  .schedule{margin-top:26px!important}
  .schedule-row,
  .schedule-row:hover{
    display:grid!important;
    grid-template-columns:78px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:start!important;
    padding:18px 0!important;
    background:transparent!important;
  }
  .schedule-row time{
    padding-top:2px!important;
    font-size:12.5px!important;
    line-height:1.25!important;
    font-variant-numeric:tabular-nums!important;
  }
  .schedule-row .tag{
    display:block!important;
    font-size:18px!important;
    line-height:1.08!important;
    letter-spacing:-.02em!important;
    text-transform:none!important;
    overflow-wrap:break-word!important;
  }
  .schedule-row h3{
    margin:7px 0 0!important;
    font-size:15.5px!important;
    line-height:1.42!important;
    letter-spacing:-.015em!important;
  }
  .schedule-row p{margin-top:7px!important;font-size:13.5px!important;line-height:1.45!important}
  .schedule-row .arrow{display:none!important}
  .schedule-row.break,.schedule-row.workshop,.schedule-row.dinner{padding-left:10px!important;padding-right:10px!important;border-radius:10px!important}
  .schedule-row.break .tag,.schedule-row.dinner .tag{font-size:12px!important;letter-spacing:.06em!important;text-transform:uppercase!important}

  /* Speakers: keep approved card design, only optimize mobile browsing. */
  .speakers-head{display:block!important}
  .side-note{max-width:none!important;margin:16px 0 0!important;font-size:15px!important;line-height:1.55!important}
  html body .speaker-grid{
    display:flex!important;
    grid-template-columns:none!important;
    gap:12px!important;
    width:auto!important;
    margin:34px calc(var(--m-pad) * -1) 0!important;
    padding:0 var(--m-pad) 10px!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    -webkit-overflow-scrolling:touch!important;
  }
  html body .speaker-grid::-webkit-scrollbar{display:none!important}
  html body .speaker-card,
  html body .speaker-card:nth-child(n){
    flex:0 0 min(86vw,350px)!important;
    min-height:0!important;
    margin:0!important;
    scroll-snap-align:center!important;
    scroll-snap-stop:always!important;
    transform:none!important;
  }
  html body .speaker-image{aspect-ratio:4/4.65!important}
  html body .speaker-info{padding:16px 4px 22px!important}
  html body .speaker-info h3{margin:0 0 9px!important;font-size:27px!important;line-height:1.04!important}
  html body .speaker-info p{display:block!important;margin:0 0 12px!important;font-size:14.5px!important;line-height:1.5!important}
  html body .speaker-info span{font-size:10px!important;line-height:1.3!important}

  /* Speaker dialog becomes a comfortable mobile sheet. */
  html body .speaker-dialog{
    width:calc(100% - 20px)!important;
    max-width:none!important;
    max-height:calc(100dvh - 20px)!important;
    margin:auto!important;
    padding:0!important;
    border-radius:18px!important;
    overflow:auto!important;
  }
  html body .speaker-dialog-inner{display:block!important}
  html body .speaker-dialog-visual{height:min(52vh,420px)!important;min-height:260px!important}
  html body .speaker-dialog-copy{padding:22px 18px calc(26px + env(safe-area-inset-bottom))!important}
  html body .speaker-dialog-copy h3{font-size:34px!important;line-height:1!important}
  html body .speaker-dialog-close{position:sticky!important;top:10px!important;float:right!important;margin:10px 10px -54px 0!important;width:44px!important;height:44px!important;z-index:5!important}
  html body .speaker-dialog-hint{display:none!important}

  /* Tickets */
  .ticket-heading{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  .ticket-heading p{margin:0!important;font-size:16px!important;line-height:1.6!important}
  .ticket-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-top:34px!important;
  }
  .ticket-card,.contact-card{
    min-height:0!important;
    padding:22px 18px!important;
    border-radius:18px!important;
  }
  .ticket-top{gap:10px!important}
  .ticket-type{font-size:13px!important}
  .ticket-badge{font-size:9px!important}
  .ticket-card .price{margin:30px 0 18px!important}
  .ticket-card .price strong{font-size:60px!important;line-height:.9!important}
  .ticket-card>p{font-size:15.5px!important;line-height:1.55!important}
  .ticket-card li{padding:12px 0!important;font-size:14px!important;line-height:1.4!important}
  .ticket-card .button{width:100%!important;min-height:58px!important;border-radius:12px!important;font-size:12px!important}

  /* Countdown: exactly four cells in one line, readable on 320px. */
  .countdown-section{padding:62px 0!important}
  .countdown-wrap{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
    padding:0!important;
  }
  .countdown-wrap h2{font-size:clamp(35px,9.7vw,46px)!important;line-height:.98!important}
  .countdown{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important;
    gap:0!important;
  }
  .countdown>div{
    min-width:0!important;
    padding:12px 2px!important;
    text-align:center!important;
    border-right:1px solid rgba(255,255,255,.11)!important;
  }
  .countdown>div:last-child{border-right:0!important}
  .countdown strong{
    display:block!important;
    font-size:clamp(27px,7.8vw,36px)!important;
    line-height:1!important;
    font-variant-numeric:tabular-nums!important;
  }
  .countdown span{
    display:block!important;
    margin-top:6px!important;
    font-size:8.5px!important;
    line-height:1.1!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
  }

  /* Registration form */
  .registration-layout{display:block!important;width:100%!important}
  .participants-head{width:100%!important;margin-inline:auto!important;text-align:center!important}
  .participants-head .section-title::after{font-size:clamp(38px,10.8vw,50px)!important;line-height:.96!important}
  .registration-form{
    width:100%!important;
    max-width:100%!important;
    margin:26px auto 0!important;
  }
  .registration-form label{font-size:13.5px!important;line-height:1.35!important}
  .registration-form input,
  .registration-form select,
  .registration-form textarea{
    width:100%!important;
    min-height:56px!important;
    padding:12px 14px!important;
    border-radius:10px!important;
    font-size:16px!important;
    line-height:1.35!important;
  }
  .registration-form textarea{min-height:110px!important}
  .registration-form button{width:100%!important;min-height:58px!important;border-radius:12px!important;font-size:12px!important}
  .registration-form .consent{font-size:13px!important;line-height:1.45!important}

  /* Location */
  .location{padding:68px 0!important}
  .location-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }
  .location-visual{
    width:100%!important;
    height:min(72vw,360px)!important;
    min-height:260px!important;
  }
  .location-visual img{width:100%!important;height:100%!important;object-fit:cover!important}
  .location-pin{left:14px!important;bottom:14px!important;font-size:10px!important}
  .location-copy{min-height:0!important;padding:26px 18px!important}
  .location-copy h2{font-size:clamp(38px,10.5vw,50px)!important;line-height:.96!important}
  .location-copy p{font-size:16px!important;line-height:1.55!important}
  .location-features{display:flex!important;flex-wrap:wrap!important;gap:7px!important}
  .location-features span{display:inline-flex!important;align-items:center!important;min-height:34px!important;font-size:10.5px!important}
  .location-copy .button{width:100%!important;min-height:58px!important;margin-top:18px!important;border-radius:12px!important}

  /* Partners */
  .partners{padding:54px 0!important}
  .partner-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:24px 0!important;
    text-align:center!important;
  }
  .partner-label{display:grid!important;gap:5px!important;justify-items:center!important}
  .partner-label span{font-size:10px!important;letter-spacing:.12em!important}
  .partner-label small{font-size:13px!important;line-height:1.4!important}
  .logo-box{min-height:80px!important;padding:8px!important}
  .partner-row img{max-width:min(76vw,290px)!important;max-height:100px!important;margin:0 auto!important;object-fit:contain!important}

  /* Final CTA / contacts */
  .final-cta{padding:68px 0!important}
  .final-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .final-copy h2{font-size:clamp(44px,11.8vw,60px)!important;line-height:.93!important}
  .final-copy p{font-size:15px!important;line-height:1.55!important}
  .final-copy .button{width:100%!important;min-height:58px!important;border-radius:12px!important}
  .contact-panel{width:100%!important}
  .contact-panel p{font-size:14px!important}
  .contact-panel a{
    display:flex!important;
    align-items:center!important;
    min-height:54px!important;
    padding:8px 0!important;
    font-size:15px!important;
    line-height:1.35!important;
    overflow-wrap:anywhere!important;
  }

  /* Footer */
  .footer{padding:32px 0 calc(32px + env(safe-area-inset-bottom))!important}
  .footer-inner{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:24px!important;
    align-items:start!important;
  }
  .footer-brand{max-width:220px!important}
  .footer-links{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0 18px!important;
    width:100%!important;
  }
  .footer-links a{
    display:flex!important;
    align-items:center!important;
    min-height:44px!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
    font-size:12.5px!important;
    line-height:1.25!important;
  }
  .copyright{font-size:11px!important;line-height:1.4!important;opacity:.72!important}
}

@media (max-width:390px){
  :root{--m-pad:14px}
  html body main#top .ref-hero-title span{font-size:clamp(52px,16.5vw,64px)!important}
  html body main#top .ref-hero-title em{font-size:clamp(38px,11.9vw,46px)!important}
  html body main#top .ref-hero-desc{font-size:15px!important}
  html body main#top .ref-hero-visual::before{top:10px!important;right:10px!important;width:72px!important;height:72px!important}
  html body main#top .ref-hero-visual::after{top:15px!important;right:90px!important;width:145px!important}
  .schedule-row,.schedule-row:hover{grid-template-columns:72px minmax(0,1fr)!important;gap:10px!important}
  .schedule-row .tag{font-size:17px!important}
  .footer-links{grid-template-columns:1fr!important}
}

@media (max-width:340px){
  html body main#top .ref-hero-title span{font-size:50px!important}
  html body main#top .ref-hero-title em{font-size:36px!important;letter-spacing:-.07em!important}
  html body main#top .ref-hero-date{width:190px!important}
  .countdown strong{font-size:25px!important}
  .countdown span{font-size:7.5px!important}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  html body *{animation:none!important;transition:none!important}
}
