/* Aki Fest Halloween palette — public site */
:root{--ink:#2a1208;--pink:#f56a1c;--coral:#ff8a2a;--cream:#fff9ef;--lav:#ffe8cc;--yellow:#ffc15a;--sky:#ffd4a9;--shadow:0 18px 45px rgba(122,37,8,.13)}
body{background:#fff9ef!important;color:#2a1208!important}.dots{background-image:radial-gradient(#f7a553 1.5px,transparent 1.5px)!important}.eyebrow{color:#d9560a!important}.section-heading p,.faq p,.location-card p{color:#6b3519!important}
header .bar{background:#fffdf9!important;border-color:#ffd3aa!important;box-shadow:0 8px 28px #7a25081c!important}.brand{color:#f56a1c!important}.brand span{color:#2a1208!important}.brand:after{background:#fff0df!important;border-color:#ffc58e!important;color:#a63a09!important}.brand i{color:#ffc15a!important}header .lang,header .theme-toggle,header .account-mini,header .hamburger{background:#fff0df!important;border-color:#ffc58e!important;color:#b8420a!important}.account-mini:hover,header .theme-toggle:hover,header .hamburger:hover{background:#ffe0be!important}nav,nav.open{background:#fffdf9!important;border-color:#ffd3aa!important}nav a:hover{color:#e94f0b!important}
header .actions{gap:8px!important}header .lang,header .theme-toggle,header .account-mini,header .hamburger{width:40px!important;height:40px!important;min-width:40px!important;display:grid!important;place-items:center!important;margin:0!important;padding:0!important;border:1px solid #ffc58e!important;border-radius:12px!important;line-height:1!important;font:900 1rem/1 system-ui!important;box-sizing:border-box!important}header .lang{display:block!important;appearance:auto!important;text-align:center!important;font-size:.72rem!important}header .account-mini{font-size:1.05rem!important;text-decoration:none!important}.hamburger{font-size:1.25rem!important}.theme-toggle{font-size:1.05rem!important}@media(max-width:390px){header .lang,header .theme-toggle,header .account-mini,header .hamburger{width:36px!important;height:36px!important;min-width:36px!important}}
.hero .eyebrow{color:#ffd8b5!important}.hero h1 em{color:#ffb15e!important;text-shadow:3px 3px 0 #6b210833!important}.btn.pink{background:#f56a1c!important}.btn:hover{box-shadow:0 9px 0 #a63a09!important}.btn.light{color:#7a2508!important;border-color:#ffc58e!important}.cal{background:#ffc15a!important;color:#4a210d!important}.marquee{background:#2a1208!important}.marquee b{color:#ffb15e!important}
.about-main{background:#ffd4a9!important}.about-main:after{color:#fff5!important}.about-side{background:#fffdf9!important}.about-side li{border-color:#ffd3aa!important}.about-side li span{color:#e94f0b!important}.guests{background:#fff0df!important}.guest{background:#fffdf9!important}.p1{background:linear-gradient(135deg,#f56a1c,#ffb15e)!important}.p2{background:linear-gradient(135deg,#b8420a,#f87520)!important}.p3{background:linear-gradient(135deg,#ff8a2a,#ffd079)!important}.guest-copy span,.guest-copy a{color:#d9560a!important}
.about-main:after{content:'🕸'!important;font-family:system-ui!important}.about-side li span:first-child{font-size:0}.about-side li span:first-child:after{content:'🦇';font-size:1rem}
.box.purple{background:#ffd4a9!important}.box.yellow{background:#ffcf82!important}.box.blue{background:#ffb86b!important}.pill{background:#fff9!important;color:#9c3509!important}.schedule-wrap{background:linear-gradient(135deg,#7a2508,#f56a1c)!important}.schedule-head span,.schedule .time{color:#fff0c7!important}.schedule .detail{color:#ffe7cf!important}.tag,.tag.blue,.tag.yellow{background:#fff4e8!important;color:#b8420a!important}
.tickets{background:linear-gradient(110deg,#f87520,#e94f0b 48%,#b8420a 48%)!important}.ticket{background:#fffdf9!important;color:#2a1208!important}.ticket.hot{border-color:#ffc15a!important}.ticket:not(.hot) .btn{background:#ffe8cc!important;color:#8f3008!important}.ticket.hot .btn{background:#f56a1c!important}.map{background:#ffd4a9!important}.map:before,.map:after{background:#fff4e8!important}.pin{box-shadow:0 8px 0 #b8420a!important}.gallery .g1{background:linear-gradient(135deg,#b8420a,#f56a1c)!important}.gallery .g2{background:linear-gradient(135deg,#ffcf82,#f87520)!important}.gallery .g3{background:linear-gradient(135deg,#ff8a2a,#ffd079)!important}.gallery .g4{background:linear-gradient(135deg,#f56a1c,#ffb86b)!important}.gallery .g5{background:linear-gradient(135deg,#ffb15e,#d9560a)!important}
.discord{background:linear-gradient(135deg,#fff0df,#ffe0be)!important}.discord-panel{border-color:#ffc58e!important;box-shadow:0 16px 38px rgba(184,66,10,.14)!important}.discord-title,.discord-title em{color:#d9560a!important}.discord-copy{color:#7a3b20!important}.discord-btn,.telegram-links a{background:#f56a1c!important}.discord-btn:hover,.telegram-links a:hover{box-shadow:0 8px 0 #a63a09!important}.discord-side{background:linear-gradient(145deg,#f56a1c,#b8420a)!important}.memories{background:#fff4e8!important}.memories .section-heading h2,.memories .section-heading h2 em{color:#b8420a!important}.memory-card,.memory-card:nth-child(2n),.memory-card:nth-child(3n){background:linear-gradient(145deg,#fffdf9,#fff0df)!important;border-color:#ffd3aa!important;box-shadow:0 12px 26px rgba(184,66,10,.12)!important}.memory-card small,.memory-card a{color:#d9560a!important}.memory-card p{color:#7a3b20!important}.faq details{box-shadow:0 8px 21px #7a25081a!important}.faq summary:after{color:#f56a1c!important}footer{background:#2a1208!important}.footer-top p,.footer-bottom{color:#ffd8b5!important}.footer-links a{color:#ffb15e!important}
body.night{background:#1b0d08!important;color:#fff4e8!important}.night .dots{background-image:radial-gradient(#f87520 1.5px,transparent 1.5px)!important}.night header .bar,.night nav.open{background:#241109e8!important;border-color:#5e2a13!important}.night nav a,.night .hamburger{color:#fff4e8!important}.night nav a:hover{color:#ff9e45!important}.night .brand span,.night .hero p,.night .section-heading p,.night .faq p,.night .location-card p{color:#ffd8b5!important}.night .lang,.night .theme-toggle{background:#351b0f!important;color:#ffc28c!important}.night .btn.light,.night .about-side,.night .location-card,.night .ticket,.night .float-card,.night .faq details{background:#2a150c!important;color:#fff4e8!important;border-color:#5e2a13!important}.night .about-main,.night .box.purple,.night .box.yellow,.night .box.blue,.night .guests,.night .memories{background:#241109!important}.night .memory-card,.night .memory-card:nth-child(2n),.night .memory-card:nth-child(3n){background:linear-gradient(145deg,#2a150c,#46230f)!important;border-color:#5e2a13!important}.night .memory-card p{color:#ffd8b5!important}.night .guest{background:#2a150c!important}.night .ticket:not(.hot) .btn{background:#46230f!important;color:#ffd8b5!important}.night .schedule-wrap{background:linear-gradient(135deg,#351b0f,#b8420a)!important}.night .schedule{background:#ff8a2a1f!important;border-color:#ff9e454d!important}.night .schedule .detail{color:#ffd8b5!important}.night footer{background:#120805!important}.night .map{background:#351b0f!important}.night .map iframe{filter:grayscale(1) invert(.83) hue-rotate(155deg) saturate(1.25) brightness(.72)!important}.night .map:before,.night .map:after{background:#542b11!important}.night .map-label{background:#241109!important;color:#ffc28c!important}.night .tickets{background:linear-gradient(110deg,#2a150c,#b8420a 50%,#542b11 50%)!important}.night .marquee{background:#120805!important}.night .cal,.night .pill{background:#f56a1c!important;color:#fff!important}
/* Keep all top-bar controls visually identical and the menu icon readable. */
header .actions .lang,header .actions .theme-toggle,header .actions .account-mini,header .actions .hamburger{background:#fff0df!important;color:#b8420a!important;border:1px solid #ffc58e!important;border-radius:12px!important;line-height:1!important;-webkit-text-fill-color:#b8420a!important}header .actions .hamburger{font-size:1.55rem!important;font-weight:900!important;text-shadow:0 0 0 #b8420a!important}.night header .actions .lang,.night header .actions .theme-toggle,.night header .actions .account-mini,.night header .actions .hamburger{background:#351b0f!important;color:#ffc28c!important;border-color:#5e2a13!important;-webkit-text-fill-color:#ffc28c!important}.night header .actions .hamburger{text-shadow:0 0 0 #ffc28c!important}
#memories .section-heading h2,#memories .section-heading h2 em{color:#f56a1c!important}.night #memories .section-heading h2,.night #memories .section-heading h2 em{color:#ff9e45!important}
.discord [data-discord="eyebrow"]{display:none!important}.night .discord{background:#1b0d08!important}.night .discord-panel{background:#2a150c!important;border-color:#5e2a13!important;box-shadow:0 16px 38px rgba(0,0,0,.35)!important}.night .discord-title,.night .discord-title em{color:#ff9e45!important}.night .discord-copy{color:#ffd8b5!important}.night .discord-side{background:linear-gradient(145deg,#5e2a13,#b8420a)!important}.night .discord-btn,.night .telegram-links a{background:#f56a1c!important;color:#fff!important;box-shadow:none!important}.night .discord-list div{background:#ffffff14!important;border-color:#ffffff35!important}
.discord-btn,.telegram-links a{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;min-height:48px!important;padding:13px 18px!important;border-radius:14px!important;font:900 .92rem/1 system-ui,sans-serif!important;letter-spacing:0!important;text-decoration:none!important}.discord-btn:before,.telegram-links a:before{display:inline-grid;place-items:center;width:18px;font-size:1.15rem;line-height:1}.discord-btn:before{content:'🦇'}.telegram-links a:before{content:'✈'}
/* Mobile layout and contrast pass. */
footer .brand,footer .brand span{color:#fff4e8!important}footer .brand i{color:#ffb15e!important}.about-main{isolation:isolate}.about-main:after{z-index:0!important;opacity:.18;pointer-events:none}.about-main .pill,.about-main h3,.about-main p{position:relative;z-index:1}
@media(max-width:700px){header .bar{height:60px!important;padding:0 10px!important}header .brand{font-size:1.35rem!important;min-width:0}header .brand span{font-size:.96rem!important}header .brand:after{display:none!important}header .actions{gap:4px!important}header .actions .lang,header .actions .theme-toggle,header .actions .account-mini,header .actions .hamburger{width:38px!important;height:38px!important;min-height:38px!important;max-height:38px!important;padding:0!important;margin:0!important;flex:0 0 38px!important;box-sizing:border-box!important}header .actions .lang{appearance:none!important;text-align:center!important;text-align-last:center!important;text-indent:0!important;font-size:.7rem!important}header .actions .theme-toggle,header .actions .account-mini,header .actions .hamburger{display:grid!important;place-items:center!important}.hero{min-height:640px!important;padding:112px 0 34px!important}.hero:before{background-size:auto 100%!important;background-position:72% center!important;background-repeat:no-repeat!important}.hero:after{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(28,8,17,.78),rgba(28,8,17,.53) 55%,rgba(28,8,17,.38))!important;z-index:-1!important}.hero-grid{display:block!important}.hero h1{font-size:clamp(3.1rem,15vw,4.6rem)!important;max-width:310px}.hero p{max-width:310px!important}.hero .cta-row{max-width:300px}.hero .event-chip{max-width:270px}.about-main:after{font-size:8rem!important;right:-10px!important;bottom:-22px!important;opacity:.11!important}.schedule-wrap{padding:20px 10px!important;overflow:hidden}.schedule-head{gap:8px!important}.schedule-head h2{font-size:1.75rem!important}.schedule{width:100%!important;grid-template-columns:58px minmax(0,1fr) 48px 46px!important}.schedule div{min-width:0!important;padding:11px 4px!important;font-size:.7rem!important;overflow-wrap:anywhere}.schedule .time{font-size:.86rem!important}.schedule .detail{font-size:.64rem!important}.schedule .tag,.schedule .tag.blue,.schedule .tag.yellow{font-size:.55rem!important;padding:4px 3px!important;white-space:nowrap!important}.footer-top .brand{font-size:1.5rem!important}.footer-top .brand span{font-size:1.02rem!important}}
@media(max-width:360px){header .brand{font-size:1.18rem!important}header .brand span{font-size:.84rem!important}header .actions .lang,header .actions .theme-toggle,header .actions .account-mini,header .actions .hamburger{width:34px!important;height:34px!important;min-height:34px!important;max-height:34px!important;flex-basis:34px!important}.schedule{grid-template-columns:54px minmax(0,1fr) 44px 42px!important}.schedule div{font-size:.64rem!important}.schedule .time{font-size:.78rem!important}}

/* Final small-screen layout: every control and card stays inside the viewport. */
footer .footer-top .brand,
footer .footer-top .brand span:last-child{color:#fff4e8!important;-webkit-text-fill-color:#fff4e8!important}
footer .footer-top .brand i{color:#ffb15e!important;-webkit-text-fill-color:#ffb15e!important}
@media(max-width:700px){
  header .bar{justify-content:space-between!important;overflow:visible!important}
  header .brand{letter-spacing:-.04em!important;white-space:nowrap!important}
  header .actions{margin-left:6px!important;flex-wrap:nowrap!important}
  header .actions .lang{display:grid!important;place-items:center!important;appearance:none!important;background-image:none!important;text-align:center!important;text-align-last:center!important;direction:ltr!important}
  header .actions .lang option{text-align:center!important}
  /* The full illustration remains visible without covering the festival copy. */
  .hero{min-height:680px!important;padding-top:108px!important;background:#1b0c14!important}
  .hero:before{background-image:linear-gradient(180deg,rgba(28,8,17,.9) 0%,rgba(28,8,17,.72) 47%,rgba(28,8,17,.16) 100%),url('aki-halloween-hero.png')!important;background-size:100% 100%,auto 74%!important;background-position:center,79% bottom!important;background-repeat:no-repeat!important;z-index:0!important}
  .hero:after{display:none!important}
  .hero-grid{position:relative!important;z-index:1!important}
  .hero h1,.hero p,.hero .eyebrow,.hero .event-chip,.hero .cta-row{position:relative!important;z-index:2!important}
  /* Decorative web is intentionally removed on phones so it can never cover copy. */
  .about-main:after{display:none!important}
  .about-main .pill,.about-main h3,.about-main p{z-index:auto!important}
  /* Schedule has three visible columns on phones: time, activity and status. */
  .schedule{grid-template-columns:58px minmax(0,1fr) 54px!important}
  .schedule .detail{display:none!important}
  .schedule div{padding:12px 5px!important}
  .schedule div:last-child{justify-content:center!important;padding-left:2px!important;padding-right:2px!important}
  .schedule .tag,.schedule .tag.blue,.schedule .tag.yellow{display:block!important;max-width:50px!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:center!important;font-size:.55rem!important;padding:5px 3px!important}
}
@media(max-width:360px){
  header .brand{font-size:1.12rem!important}
  .schedule{grid-template-columns:52px minmax(0,1fr) 48px!important}
  .schedule .tag,.schedule .tag.blue,.schedule .tag.yellow{max-width:45px!important;font-size:.5rem!important}
}

/* Device-width ranges: iPhone and Galaxy screens use CSS widths from 360–430px. */
html,body{max-width:100%!important;overflow-x:hidden!important}
@media screen and (min-width:361px) and (max-width:430px){
  header .bar{height:62px!important;padding:0 11px!important}
  header .brand{font-size:1.28rem!important}
  header .brand span{font-size:.91rem!important}
  header .actions{gap:5px!important}
  header .actions .lang,header .actions .theme-toggle,header .actions .account-mini,header .actions .hamburger{width:38px!important;height:38px!important;min-width:38px!important;flex-basis:38px!important}
  .hero{min-height:690px!important;padding:112px 0 36px!important}
  .hero h1{font-size:clamp(3.2rem,14vw,4.4rem)!important}
  .hero:before{background-size:100% 100%,auto 76%!important;background-position:center,79% bottom!important}
}
@media screen and (max-width:360px){
  .hero{min-height:660px!important}
  .hero:before{background-size:100% 100%,auto 70%!important;background-position:center,80% bottom!important}
}

/* Footer logo mirrors the navbar logo but keeps enough contrast on the dark footer. */
footer .footer-top .brand{display:inline-flex!important;align-items:center!important;gap:4px!important;font-size:1.35rem!important;font-weight:950!important;line-height:1!important;letter-spacing:-.045em!important}
footer .footer-top .brand span:first-child{font-size:inherit!important;color:#f56a1c!important;-webkit-text-fill-color:#f56a1c!important}
footer .footer-top .brand i{font-size:.72em!important;color:#ffb15e!important;-webkit-text-fill-color:#ffb15e!important}
footer .footer-top .brand span:last-child{font-size:.78em!important;color:#fff4e8!important;-webkit-text-fill-color:#fff4e8!important}
@media(max-width:700px){footer .footer-top .brand{font-size:1.28rem!important}footer .footer-top .brand span{font-size:inherit!important}footer .footer-top .brand span:last-child{font-size:.78em!important}}

/* Exact navbar-logo treatment, reused in the footer. */
footer .footer-top .brand{font-family:Fredoka,sans-serif!important;font-size:1.92rem!important;font-weight:700!important;letter-spacing:-.06em!important;gap:5px!important;color:#f56a1c!important}
footer .footer-top .brand span:first-child{font-size:1.24rem!important;letter-spacing:.02em!important;margin-left:0!important;color:#2a1208!important;-webkit-text-fill-color:#2a1208!important}
footer .footer-top .brand i{font-style:normal!important;font-size:inherit!important;color:#ffc15a!important;-webkit-text-fill-color:#ffc15a!important;text-shadow:1px 1px 0 #2a1208!important}
footer .footer-top .brand span:last-child{font-size:1.24rem!important;letter-spacing:.02em!important;margin-left:0!important;color:#2a1208!important;-webkit-text-fill-color:#2a1208!important}
@media(max-width:700px){footer .footer-top .brand{font-size:1.35rem!important}footer .footer-top .brand span:first-child,footer .footer-top .brand span:last-child{font-size:.96rem!important}}
@media screen and (min-width:361px) and (max-width:430px){footer .footer-top .brand{font-size:1.28rem!important}footer .footer-top .brand span:first-child,footer .footer-top .brand span:last-child{font-size:.91rem!important}}
@media(max-width:360px){footer .footer-top .brand{font-size:1.12rem!important}footer .footer-top .brand span:first-child,footer .footer-top .brand span:last-child{font-size:.84rem!important}}

/* Match the navbar logo in both colour modes. */
body:not(.night) footer .footer-top .brand span:first-child,
body:not(.night) footer .footer-top .brand span:last-child{color:#2a1208!important;-webkit-text-fill-color:#2a1208!important}
body:not(.night) footer .footer-top .brand i{color:#ffc15a!important;-webkit-text-fill-color:#ffc15a!important;text-shadow:1px 1px 0 #2a1208!important}
body.night footer .footer-top .brand span:first-child,
body.night footer .footer-top .brand span:last-child{color:#fff4e8!important;-webkit-text-fill-color:#fff4e8!important}
body.night footer .footer-top .brand i{color:#ffc15a!important;-webkit-text-fill-color:#ffc15a!important;text-shadow:1px 1px 0 #2a1208!important}

/* The footer background is always dark, so its logo stays one reliable, readable colour. */
footer .footer-top .brand,
footer .footer-top .brand span:first-child,
footer .footer-top .brand span:last-child,
footer .footer-top .brand i,
body.night footer .footer-top .brand,
body.night footer .footer-top .brand span:first-child,
body.night footer .footer-top .brand span:last-child,
body.night footer .footer-top .brand i{color:#fff4e8!important;-webkit-text-fill-color:#fff4e8!important;text-shadow:none!important}

/* The small YEREVAN badge keeps the same brown lettering as the navbar badge. */
footer .footer-top .brand:after,
body.night footer .footer-top .brand:after{color:#a63a09!important;-webkit-text-fill-color:#a63a09!important;background:#fff0df!important;border-color:#ffc58e!important;text-shadow:none!important}

/* Keep the complete Aki Fest Yerevan lockup visible in the compact mobile navbar. */
@media(max-width:700px){
  header .bar{height:68px!important}
  header .brand{position:relative!important;padding-bottom:13px!important}
  header .brand span{display:inline!important}
  header .brand:after{display:inline-flex!important;position:absolute!important;left:0!important;bottom:0!important;margin:0!important;padding:3px 5px!important;font:900 .45rem/1 Nunito,sans-serif!important;letter-spacing:.08em!important}
}
@media(max-width:360px){
  header .brand{font-size:1.02rem!important}
  header .brand span{font-size:.74rem!important}
  header .brand:after{font-size:.4rem!important;padding:3px 4px!important}
}
