/* Optical Merch — pagina „Tipografii partenere” (harta „Noaptea”: România din puncte de raster, pini care ard,
   trasee de lumină din București). Se încarcă doar pe parteneri.html, după merch.css. */
.h-page{background:#09090C;color:var(--w);overflow:hidden}
.h-page :focus-visible{outline-color:var(--o)}
.h-hero{position:relative;padding:clamp(26px,3vw,48px) var(--pad);isolation:isolate;display:grid;grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr);gap:clamp(20px,3vw,50px);align-items:center;min-height:calc(100svh - 80px)}
.h-ghost{position:absolute;left:50%;top:50%;transform:translate(-50%,-46%);z-index:-1;font:400 clamp(120px,24vw,420px)/1 var(--anton);text-transform:uppercase;color:transparent;-webkit-text-stroke:1.5px rgba(255,74,28,.22);white-space:nowrap;pointer-events:none;user-select:none}
.h-head{position:relative;z-index:2}
.h-head .kick{color:var(--o)}
.h-h1{font-size:clamp(52px,6.2vw,116px);line-height:1.28} /* Ț are virgula lungă (0,32 em): sub 1,2 atinge rândul următor */
.h-h1 span{display:block}.h-h1 .o{color:var(--o)}
:lang(en) .h-h1{line-height:1.08;font-size:clamp(48px,5.2vw,96px)}
.h-stats{display:flex;gap:clamp(18px,2.4vw,40px);margin-top:clamp(22px,2.6vw,40px)}
.h-stat b{display:block;font:400 clamp(50px,4.6vw,84px)/1 var(--anton);color:var(--w);font-variant-numeric:tabular-nums}
.h-stat:first-child b{color:var(--o);text-shadow:0 0 34px rgba(255,74,28,.55)}
.h-stat span{display:block;margin-top:6px;font:700 12px/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:rgba(244,244,246,.6)}
.h-empty{margin-top:clamp(22px,2.6vw,40px);max-width:460px}
.h-empty[hidden]{display:none}
.h-empty p:first-child{font:400 clamp(30px,2.8vw,50px)/1.1 var(--anton);text-transform:uppercase;color:var(--w)}
.h-empty p:first-child em{font-style:normal;color:var(--o)}
.h-empty .cur{display:inline-block;width:.5em;height:.82em;margin-left:.08em;background:var(--o);vertical-align:-.06em;animation:h-blink 1s steps(1) infinite}
@keyframes h-blink{50%{opacity:0}}
.h-empty p+p{margin-top:12px;font-size:clamp(16px,1.2vw,19px);color:rgba(244,244,246,.78)}
.h-joinline{margin-top:18px;font-size:15px;color:rgba(244,244,246,.72)}
.h-joinline a{color:var(--yel);font-weight:700;text-underline-offset:4px}

.h-map{position:relative;width:100%;max-width:calc((100svh - 140px) * 1.416);justify-self:center;aspect-ratio:1000/706}
.h-map canvas,.h-map svg{position:absolute;inset:0;width:100%;height:100%}
.h-map svg{overflow:visible;pointer-events:none}
.h-edge{fill:none;stroke:rgba(244,244,246,.14);stroke-width:1.4}
.h-arc{fill:none;stroke:rgba(255,74,28,.28);stroke-width:1.6}
.h-run{fill:none;stroke:var(--o);stroke-width:3;stroke-linecap:round;stroke-dasharray:.09 .91;stroke-dashoffset:1;filter:drop-shadow(0 0 6px rgba(255,74,28,.9));animation:h-run 2.8s linear infinite;animation-delay:calc(var(--i)*-.37s)}
@keyframes h-run{to{stroke-dashoffset:0}}
.h-pins{position:absolute;inset:0}
.h-pin{position:absolute;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;cursor:pointer;display:grid;place-items:center;animation:h-in .6s var(--ease) both;animation-delay:calc(var(--i)*60ms + .2s)}
.h-pin i{position:relative;width:14px;height:14px;border-radius:50%;background:#FFB199;box-shadow:0 0 0 3px var(--o),0 0 22px 6px rgba(255,74,28,.75);transition:transform .2s var(--ease)}
.h-pin::before,.h-pin::after{content:"";position:absolute;inset:8px;border-radius:50%;border:2px solid var(--o);opacity:0;animation:h-ring 2.4s var(--ease) infinite}
.h-pin::after{animation-delay:1.2s}
@keyframes h-ring{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(1.9)}}
@keyframes h-in{from{opacity:0;transform:scale(.2)}}
.h-pin b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:400 13px/1 var(--anton);color:#09090C;pointer-events:none}
.h-pin.n i{width:24px;height:24px}
.h-pin .lb{position:absolute;left:calc(50% + 18px);top:50%;transform:translateY(-50%);white-space:nowrap;font:800 12px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--w);text-shadow:0 1px 8px #000,0 0 2px #000;pointer-events:none;display:none}
.h-map.few .h-pin .lb,.h-pin:hover .lb,.h-pin:focus-visible .lb{display:block}
.h-pin:hover i,.h-pin[aria-expanded=true] i{transform:scale(1.35)}
.h-hq{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(39,71,255,.35),0 0 30px 8px rgba(39,71,255,.55);pointer-events:none}
.h-hq span{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);white-space:nowrap;font:800 11px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#9fb0ff;text-align:right}
.h-hq.nl span{display:none}

.h-card{position:absolute;z-index:20;width:min(330px,88vw);background:rgba(18,18,24,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1.5px solid rgba(255,74,28,.7);border-radius:18px;box-shadow:0 0 0 6px rgba(255,74,28,.08),0 30px 60px -20px #000;padding:18px;animation:h-pop .25s var(--ease)}
.h-card[hidden]{display:none}
@keyframes h-pop{from{opacity:0;transform:translateY(8px)}}
.h-card h3{font-size:28px;padding-right:40px;color:var(--o)}
.h-card .x{position:absolute;right:10px;top:10px;width:40px;height:40px;border-radius:50%;background:rgba(244,244,246,.1);color:var(--w);font:800 15px/1 var(--sans)}
.h-card .it{margin-top:12px}.h-card .it+.it{padding-top:12px;border-top:1px solid rgba(244,244,246,.14)}
.h-card .nm{font:400 22px/1.12 var(--anton);text-transform:uppercase;margin-bottom:10px}
.h-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.h-tags span{font:700 11.5px/1 var(--sans);padding:6px 9px;border-radius:999px;border:1px solid rgba(244,244,246,.35);color:rgba(244,244,246,.9)}
.h-go{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:var(--o);color:#09090C;font:800 13px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;max-width:100%;overflow-wrap:anywhere}
.h-go:hover{background:var(--w)}
.h-row>.h-go,.h-row>.st,.h-th>:last-child{justify-self:end;text-align:right}

/* tabloul de plecări (lista) */
.h-board{padding:clamp(60px,7vw,120px) var(--pad)}
.h-board .kick{color:var(--o)}
.h-board h2{font-size:clamp(44px,6vw,104px);line-height:1.12}
.h-board h2 .o{color:var(--o)}
.h-board .sub{margin-top:12px;color:rgba(244,244,246,.72);max-width:620px;font-size:18px}
.h-th{margin-top:40px}
.h-rows{border-top:1.5px solid rgba(244,244,246,.2);list-style:none}
.h-row,.h-th{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(0,1.5fr) minmax(0,1.6fr) minmax(0,300px);gap:20px;align-items:center;padding:18px 14px;border-bottom:1.5px solid rgba(244,244,246,.12)}
.h-th{padding-block:12px;font:800 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:rgba(244,244,246,.45)}
.h-row{transition:background-color .2s,color .2s;animation:h-flip .5s var(--ease) both;animation-delay:calc(var(--i)*45ms);transform-origin:50% 0}
@keyframes h-flip{from{opacity:0;transform:perspective(600px) rotateX(-70deg)}}
.h-row:not(.free):hover{background:var(--o);color:#09090C}
.h-row:not(.free):hover .h-tags span{border-color:rgba(9,9,12,.4);color:#09090C}
.h-row:not(.free):hover .h-go{background:#09090C;color:var(--o)}
.h-row:not(.free):hover .ct{color:#09090C}
.h-row .ct{font:400 clamp(24px,2.2vw,36px)/1.12 var(--anton);text-transform:uppercase;color:var(--o)}
.h-row .nm{font:700 clamp(17px,1.3vw,21px)/1.25 var(--sans)}
.h-row .h-tags{margin:0}
.h-row.free .ct{color:rgba(244,244,246,.35)}
.h-row.free .st{font:800 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--yel);animation:h-blink 1.6s steps(1) infinite}

.h-join{position:relative;padding:clamp(70px,9vw,150px) var(--pad);background:radial-gradient(120% 90% at 85% 100%,rgba(39,71,255,.45),transparent 60%),radial-gradient(90% 80% at 0% 0%,rgba(255,74,28,.3),transparent 60%),#09090C;border-top:1.5px solid rgba(244,244,246,.12)}
.h-join .kick{color:var(--yel)}
.h-join h2{font-size:clamp(52px,8.4vw,160px);line-height:1.12}
.h-join h2 span{display:block}.h-join h2 .o{color:var(--o);text-shadow:0 0 40px rgba(255,74,28,.5)}
.h-join p{max-width:640px;margin-top:22px;font-size:clamp(17px,1.3vw,20px);color:rgba(244,244,246,.82)}
.h-join .btn{background:var(--o);color:#09090C}
.h-join .mail{color:var(--w)}

@media (max-width:1023px){.h-hero{grid-template-columns:minmax(0,1fr);min-height:0}.h-map{max-width:none}}
@media (max-width:900px){
  .h-row,.h-th{grid-template-columns:minmax(0,1fr);gap:8px;padding:18px 4px}
  .h-th{display:none}
  .h-row .h-go,.h-row .st{justify-self:start;margin-top:4px}
}
@media (max-width:700px){
  .h-map{margin-inline:-6px;width:calc(100% + 12px)}
  .h-stats{width:100%;justify-content:space-between}
  .h-map.few .h-pin .lb,.h-pin:hover .lb{display:none}
  .h-hq span{font-size:9px}
  .h-card{position:fixed;left:10px;right:10px;top:auto;bottom:10px;width:auto;max-height:70svh;overflow:auto;z-index:70}
  .h-row .h-go{padding:0 12px;font-size:11px}
}
@media (prefers-reduced-motion:reduce){
  .h-run,.h-pin,.h-pin::before,.h-pin::after,.h-row,.h-empty .cur,.h-row.free .st,.h-card,.h-card .h-logo{animation:none}
  .h-run{stroke-dasharray:none;opacity:.5}
}

/* logo-ul firmei: în fișă mare, pe o plăcuță albă (logo-urile sunt făcute pentru fond deschis); în listă mic */
.h-logo{display:grid;place-items:center;background:#fff;border-radius:14px;overflow:hidden;flex:none}
.h-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.h-logo.mono{background:linear-gradient(135deg,var(--o),#FFD84D);color:#09090C;font:400 1em/1 var(--anton);letter-spacing:.02em}
.h-card .h-logo.lg{height:132px;padding:18px 22px;margin:2px 0 14px;font-size:62px;box-shadow:0 0 0 1px rgba(255,74,28,.45),0 0 32px -6px rgba(255,74,28,.55),0 22px 44px -22px #000;animation:h-logo .5s var(--ease) both}
.h-row .nm{display:flex;align-items:center;gap:14px;min-width:0}
.h-row .h-logo.sm{width:48px;height:48px;border-radius:11px;padding:6px;font-size:21px;box-shadow:0 0 0 1px rgba(244,244,246,.14)}
.h-row[data-k]{cursor:pointer}
.h-row[data-k]:focus-visible{outline:2px solid var(--o);outline-offset:-2px}
@keyframes h-logo{from{opacity:0;transform:scale(.88) translateY(8px)}to{opacity:1;transform:none}}
.h-row>.h-go{white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}

/* polish 06.11.2026: pe telefon și tabletă, „TIPAR” (conturul din fundal) stă în spatele hărții, nu peste text */
@media (max-width:1023px){.h-ghost{top:auto;bottom:2%;transform:translateX(-50%);font-size:clamp(110px,30vw,300px)}}
/* ținte de atingere de 44 px pe adresele de mail, fără să se schimbe desenul */
.h-join .mail,.h-joinline a{position:relative}
.h-join .mail::after,.h-joinline a::after{content:"";position:absolute;inset:-10px -6px}
