/* Hit Fest 2027 Lab: fundația comună. Brand + neon. */
:root{
  color-scheme:only dark;
  /* brand (din kit) */
  --navy:#1C3947; --navy-deep:#0E1E27; --night:#070F15; --night-2:#0B1820;
  --yellow:#EDA423; --orange:#F7651C; --teal:#1FA9A0; --cream:#FAF6E8; --cream-2:#F2EAD3;
  /* neon (extensia 2027) */
  --neon-pink:#FF2E97; --neon-cyan:#29F3FF; --neon-violet:#A45CFF; --neon-lime:#C8FF3D;
  --neon-yellow:#FFC93C; --neon-orange:#FF7A2F;
  /* text */
  --ink:#EAF2F5; --ink-2:#B9CBD3; --ink-3:#86A0AC; --ink-dark:#1C3947; --ink-dark-2:#4A6572;
  --line:rgba(234,242,245,.14); --line-dark:#E0D7BE;
  /* type */
  --f-display:"Bebas Neue","Anton",Impact,"Arial Narrow",sans-serif;
  --f-poster:"Anton",Impact,"Arial Narrow",sans-serif;
  --f-text:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-deco:"Monoton","Bebas Neue",Impact,sans-serif;
  /* ritm */
  --r-s:8px; --r-m:12px; --r-l:18px; --r-xl:24px;
  --wrap:1200px; --gutter:clamp(16px,4vw,40px);
  --ease:cubic-bezier(.22,.61,.36,1); --ease-back:cubic-bezier(.34,1.56,.64,1);
}
/* The page draws its own colours. Samsung Internet's dark mode (and Chrome's "dark mode for web content") darken
   any page that does not say it has a dark scheme; they look for the meta tag above and for a prefers-color-scheme
   rule, so the page names both, and nothing changes (19.10.2026: the cream poster came out brown on a Galaxy S25). */
@media (prefers-color-scheme:dark){:root{color-scheme:only dark}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--night);color:var(--ink);font-family:var(--f-text);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video,canvas,svg{max-width:100%}
a{color:inherit}
.hf-wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gutter)}
.hf-section{position:relative;padding-block:clamp(72px,10vw,136px);overflow:hidden}
.hf-section--cream{background:var(--cream);color:var(--ink-dark)}
.hf-section--navy{background:var(--navy-deep)}
.hf-kicker{font-family:var(--f-text);font-stretch:75%;font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--neon-cyan);margin:0 0 14px}
.hf-section--cream .hf-kicker{color:var(--orange)}
.hf-h2{font-family:var(--f-display);font-weight:400;font-size:clamp(46px,8vw,104px);line-height:.9;letter-spacing:.01em;margin:0 0 18px;text-wrap:balance}
.hf-lede{font-size:clamp(17px,1.6vw,20px);color:var(--ink-2);max-width:56ch;margin:0}
.hf-section--cream .hf-lede{color:var(--ink-dark-2)}
.hf-tabnum{font-variant-numeric:tabular-nums}
/* neon */
.neon{--c:var(--neon-pink);color:#fff;text-shadow:0 0 2px #fff,0 0 8px var(--c),0 0 18px var(--c),0 0 38px var(--c),0 0 72px color-mix(in srgb,var(--c) 60%,transparent)}
.neon--pink{--c:var(--neon-pink)} .neon--cyan{--c:var(--neon-cyan)} .neon--violet{--c:var(--neon-violet)}
.neon--lime{--c:var(--neon-lime)} .neon--yellow{--c:var(--neon-yellow)} .neon--orange{--c:var(--neon-orange)}
.neon-box{--c:var(--neon-cyan);box-shadow:0 0 0 1.5px var(--c),0 0 14px color-mix(in srgb,var(--c) 70%,transparent),inset 0 0 14px color-mix(in srgb,var(--c) 35%,transparent)}
@keyframes hf-flicker{0%,100%{opacity:1}3%{opacity:.35}5%{opacity:1}41%{opacity:1}42%{opacity:.5}43%{opacity:1}77%{opacity:1}78%{opacity:.7}79%{opacity:1}}
.neon--flicker{animation:hf-flicker 6s linear infinite}
@media (prefers-reduced-motion:reduce){.neon--flicker{animation:none}}
/* butoane */
.hf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;border:0;cursor:pointer;
  font-family:var(--f-text);font-stretch:75%;font-weight:800;font-size:15px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease),background .2s}
.hf-btn:active{transform:scale(.97)}
.hf-btn--primary{background:var(--yellow);color:var(--navy-deep);box-shadow:0 0 0 0 rgba(237,164,35,0)}
.hf-btn--primary:hover{background:#f5b43a;box-shadow:0 0 28px rgba(255,201,60,.55)}
.hf-btn--neon{--c:var(--neon-pink);background:transparent;color:#fff;box-shadow:0 0 0 1.5px var(--c),0 0 16px color-mix(in srgb,var(--c) 55%,transparent),inset 0 0 12px color-mix(in srgb,var(--c) 30%,transparent)}
.hf-btn--neon:hover{background:color-mix(in srgb,var(--c) 18%,transparent)}
.hf-btn--ghost{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.hf-btn[disabled]{opacity:.45;cursor:not-allowed}
:focus-visible{outline:2px solid var(--neon-cyan);outline-offset:3px}
.hf-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;font-family:var(--f-text);font-stretch:75%;font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.hf-pill--coral{background:#C2412A;color:#fff}
.hf-pill--neon{--c:var(--neon-lime);color:var(--c);box-shadow:inset 0 0 0 1.5px var(--c),0 0 12px color-mix(in srgb,var(--c) 45%,transparent)}
.hf-input{width:100%;min-height:48px;padding:0 16px;border-radius:var(--r-m);border:1.5px solid var(--line);background:rgba(255,255,255,.04);color:var(--ink);font:inherit}
.hf-input:focus{border-color:var(--neon-cyan);outline:none;box-shadow:0 0 0 3px rgba(41,243,255,.18)}
.hf-section--cream .hf-input{border-color:var(--line-dark);background:#fff;color:var(--ink-dark)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
/* toast */
.hf-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,20px);opacity:0;z-index:100;pointer-events:none;
  background:var(--night-2);color:#fff;padding:12px 20px;border-radius:999px;font-weight:600;font-size:15px;transition:all .3s var(--ease);box-shadow:0 0 0 1.5px var(--neon-cyan),0 0 22px rgba(41,243,255,.4)}
.hf-toast.on{opacity:1;transform:translate(-50%,0)}
/* nav */
.hf-nav{position:fixed;top:0;left:0;right:0;z-index:50;padding-top:env(safe-area-inset-top,0px);transition:background .3s,backdrop-filter .3s}
.hf-nav.scrolled{background:rgba(7,15,21,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.hf-nav__in{display:flex;align-items:center;gap:18px;height:64px;max-width:1400px;margin:0 auto;padding-inline:var(--gutter)}
.hf-nav__logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex:none}
.hf-nav__logo img{width:44px;height:44px}
.hf-nav__logo span{font-family:var(--f-display);font-size:22px;letter-spacing:.04em;line-height:1}
.hf-nav__links{display:flex;gap:4px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.hf-nav__links::-webkit-scrollbar{display:none}
.hf-nav__links a{text-decoration:none;font-stretch:75%;font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);padding:8px 10px;border-radius:999px;white-space:nowrap}
.hf-nav__links a:hover,.hf-nav__links a.on{color:#fff;background:rgba(255,255,255,.08)}
.hf-nav__cta{flex:none;min-height:40px;padding:0 18px;font-size:13px}
@media (max-width:980px){.hf-nav__links{display:none}.hf-nav__logo span{display:none}.hf-nav__cta{margin-left:auto}}
/* footer */
.hf-footer{background:#04090D;padding-block:72px 48px;text-align:center}
.hf-footer__sign{font-family:var(--f-deco);font-size:clamp(28px,6vw,72px);line-height:1.1;margin:0 0 10px}
/* one line for "Ne vedem la", one for the town, so its name never breaks (Gabi, 19.10.2026) */
.hf-footer__sign span{display:block;white-space:nowrap}
@media (max-width:359px){.hf-footer__sign{font-size:24px}}
.hf-footer__sub{font-family:var(--f-display);font-size:clamp(24px,3.4vw,40px);letter-spacing:.04em;margin:0 0 36px;color:var(--ink)}
.hf-footer__meta{font-size:14px;color:var(--ink-3);max-width:70ch;margin:0 auto;line-height:1.7}
/* pastila de sunet */
.hf-sound{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:95;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);
  padding:6px 6px 6px 14px;border-radius:999px;background:rgba(7,15,21,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 0 0 1.5px var(--neon-lime),0 0 22px rgba(200,255,61,.35);
  transform:translateY(140%);opacity:0;pointer-events:none;transition:transform .3s var(--ease),opacity .3s}
.hf-sound.on{transform:none;opacity:1;pointer-events:auto}
.hf-sound__eq{display:flex;align-items:flex-end;gap:2px;height:16px;flex:none}
.hf-sound__eq i{width:3px;background:var(--neon-lime);border-radius:2px;animation:hf-eq .9s ease-in-out infinite}
.hf-sound__eq i:nth-child(2){animation-delay:-.3s}.hf-sound__eq i:nth-child(3){animation-delay:-.6s}
@keyframes hf-eq{0%,100%{height:30%}50%{height:100%}}
@media (prefers-reduced-motion:reduce){.hf-sound__eq i{animation:none;height:70%}}
.hf-sound__go{background:none;border:0;color:#fff;font:600 14px/1.2 var(--f-text);cursor:pointer;text-align:left;padding:6px 0;min-height:36px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hf-sound__stop{flex:none;min-height:40px;padding:0 16px;border-radius:999px;border:0;background:var(--neon-lime);color:#0B1820;font:800 13px/1 var(--f-text);font-stretch:75%;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
/* buton sunet în nav */
.hf-nav__sound{flex:none;display:inline-flex;align-items:center;gap:8px;background:transparent;border:1.5px solid var(--line);color:var(--ink-2);border-radius:999px;height:36px;padding:0 12px;font:700 12px/1 var(--f-text);font-stretch:75%;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.hf-nav__sound[aria-pressed="true"]{color:var(--neon-lime);border-color:color-mix(in srgb,var(--neon-lime) 60%,transparent);box-shadow:0 0 12px rgba(200,255,61,.25)}
.hf-nav__sound .x{display:none}
.hf-nav__sound[aria-pressed="false"] .w1,.hf-nav__sound[aria-pressed="false"] .w2{display:none}
.hf-nav__sound[aria-pressed="false"] .x{display:inline}
@media (max-width:980px){.hf-nav__sound span{display:none}.hf-nav__sound{width:40px;height:40px;padding:0;justify-content:center;margin-left:auto}.hf-nav__cta{margin-left:0}}
@media (max-width:420px){.hf-nav__in{gap:8px}.hf-nav__cta{padding:0 14px}}
/* the phone menu: the same links, opened from the button at the right of the bar (19.10.2026, mobile audit) */
.hf-nav__menu{display:none}
.hf-nav__only-menu{display:none}
@media (max-width:980px){
  .hf-nav__menu{flex:none;display:grid;place-content:center;gap:5px;width:44px;height:44px;margin-right:-4px;padding:0;background:transparent;border:0;border-radius:12px;color:#fff;cursor:pointer}
  .hf-nav__menu i{display:block;width:22px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s,opacity .2s}
  .hf-nav__menu[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .hf-nav__menu[aria-expanded="true"] i:nth-child(2){opacity:0}
  .hf-nav__menu[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hf-nav__menu:focus-visible{outline:3px solid var(--neon-cyan);outline-offset:2px}
  .hf-nav.menu-open{background:rgba(7,15,21,.96)}
  .hf-nav.menu-open .hf-nav__links{display:flex;flex-direction:column;gap:2px;position:fixed;left:0;right:0;top:calc(64px + env(safe-area-inset-top,0px));margin:0;padding:8px var(--gutter) 20px;background:rgba(7,15,21,.96);box-shadow:0 1px 0 var(--line),0 24px 40px rgba(0,0,0,.45);overflow:visible}
  .hf-nav.menu-open .hf-nav__links a{display:flex;align-items:center;min-height:52px;padding:0 6px;font-size:18px;border-radius:12px;border-bottom:1px solid var(--line)}
  .hf-nav.menu-open .hf-nav__links a:last-child{border-bottom:0}
}
