/* ============================================================
   netmetro — "Our team" / "Csapatunk" oldal (.nm redesign)
   Közös az EN (en/contents/content_team.php) és HU (hu/...) változathoz.
   ÖNÁLLÓ: a content-partial linkeli a Sora/Hanken fontot; itt minden .nm érték
   hardcode-olva, mert az aloldal-layout (layout_default) nem tölti a nm-redesign.css-t.
   Scope: minden szabály a .nm-team alatt.
   ============================================================ */

/* Tokenek + alap .nm tipográfia: közös nm-tokens.css (a layout_default <head>-je tölti).
   A .nm-team.nm wrapper a .nm osztály révén megkapja — itt már nem duplikáljuk (Fázis 2b). */
.nm-team *,.nm-team *::before,.nm-team *::after{box-sizing:border-box;}
.nm-team h1,.nm-team h2,.nm-team h3,.nm-team h4{font-family:var(--nm-font-display);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin:0;color:var(--nm-ink);}
.nm-team p{margin:0;} .nm-team a{color:inherit;text-decoration:none;} .nm-team svg{display:block;overflow:visible;}
.nm-team .nm-container{width:100%;max-width:var(--nm-container);margin:0 auto;padding:0 28px;position:relative;z-index:2;}
.nm-team .nm-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--nm-font-display);font-weight:600;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--nm-primary);}
.nm-team .nm-eyebrow::before{content:"";width:26px;height:2px;background:var(--nm-primary);border-radius:2px;}
.nm-team .nm-lead{font-size:19px;color:var(--nm-ink-soft);margin-top:22px;} .nm-team .nm-hl{color:var(--nm-primary);}
.nm-team .nm-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--nm-font-display);font-weight:600;font-size:16px;padding:15px 26px;border-radius:999px;line-height:1;cursor:pointer;border:0;transition:transform .2s var(--nm-ease),box-shadow .25s,color .2s;}
.nm-team .nm-btn svg{width:18px;height:18px;}
.nm-team .nm-btn-primary{background:var(--nm-primary);color:#fff;box-shadow:var(--nm-shadow-primary);} .nm-team .nm-btn-primary:hover{transform:translateY(-2px);color:#fff;}
.nm-team .nm-btn-ghost{background:transparent;color:var(--nm-ink);border:1.5px solid var(--nm-line);} .nm-team .nm-btn-ghost:hover{border-color:var(--nm-ink);transform:translateY(-2px);}
.nm-team .nm-btn-lg{padding:18px 32px;font-size:17px;}
.nm-team .nm-cta{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap;}

/* ====== HERO ====== */
.nm-team .nm-hero{position:relative;overflow:hidden;background:var(--nm-bg);}
.nm-team .nm-fx{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.nm-team .nm-blob{display:block;border-radius:50%;filter:blur(64px);position:absolute;}
.nm-team .nm-b-red{width:440px;height:440px;opacity:.42;top:-12%;right:-6%;background:radial-gradient(circle,color-mix(in srgb,var(--nm-primary) 75%,transparent),transparent 68%);animation:nm-drift1 15s var(--nm-ease) infinite;}
.nm-team .nm-b-navy{width:400px;height:400px;opacity:.38;bottom:-22%;left:-8%;background:radial-gradient(circle,color-mix(in srgb,var(--nm-navy) 65%,transparent),transparent 68%);animation:nm-drift2 19s var(--nm-ease) infinite;}
.nm-team .nm-b-gold{width:280px;height:280px;opacity:.36;top:34%;left:46%;background:radial-gradient(circle,color-mix(in srgb,var(--nm-accent) 70%,transparent),transparent 66%);animation:nm-drift1 17s var(--nm-ease) infinite reverse;}
.nm-team .nm-fx-grid{position:absolute;inset:-18%;background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--nm-ink) 34%,transparent) 1.2px,transparent 0);background-size:32px 32px;opacity:.12;-webkit-mask-image:radial-gradient(125% 100% at 62% 0%,#000 28%,transparent 74%);mask-image:radial-gradient(125% 100% at 62% 0%,#000 28%,transparent 74%);}
@keyframes nm-drift1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(26px,-22px) scale(1.06);}}
@keyframes nm-drift2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-30px,18px) scale(1.08);}}
@keyframes nm-floaty{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
.nm-team .nm-floaty{animation:nm-floaty 6s var(--nm-ease) infinite;}
.nm-team .nm-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center;padding:74px 0 90px;}
.nm-team .nm-hero h1{font-size:clamp(33px,4.4vw,54px);}

/* hero videó-keret */
.nm-team .nm-vframe{position:relative;background:var(--nm-surface);border:1px solid var(--nm-line);border-radius:var(--nm-radius-lg);box-shadow:var(--nm-shadow);overflow:hidden;}
.nm-team .nm-vframe-bar{display:flex;align-items:center;gap:8px;padding:13px 16px;border-bottom:1px solid var(--nm-line);background:var(--nm-surface-2);}
.nm-team .nm-vframe-bar .d{width:11px;height:11px;border-radius:50%;}
.nm-team .nm-vframe-bar .u{margin-left:10px;font-size:12px;color:var(--nm-ink-soft);font-family:var(--nm-font-body);}
/* modern natív lejátszó: poszter + nagy play-gomb → kattintásra natív controls */
.nm-team .nm-vplayer{position:relative;line-height:0;cursor:pointer;}
.nm-team .nm-v{width:100%;display:block;aspect-ratio:16/10;object-fit:cover;background:#06243f;transition:transform .5s var(--nm-ease);}
/* sötétítő réteg → azonnal "videó"-t jelez; lejátszáskor eltűnik */
.nm-team .nm-vplayer::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(4,42,77,.66) 0%,rgba(4,42,77,.16) 42%,rgba(4,42,77,0) 68%);transition:opacity .3s var(--nm-ease);}
.nm-team .nm-vplayer.is-playing::before{opacity:0;}
.nm-team .nm-vplayer:not(.is-playing):hover .nm-v{transform:scale(1.045);}
/* "Watch" felirat-pill — a legerősebb "ez videó" jelzés */
.nm-team .nm-vcue{position:absolute;left:14px;bottom:13px;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(4,42,77,.5);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:#fff;font-family:var(--nm-font-body);font-weight:600;font-size:13px;line-height:1;pointer-events:none;transition:opacity .3s,visibility .3s;}
.nm-team .nm-vcue svg{width:13px;height:13px;}
.nm-team .nm-vplayer.is-playing .nm-vcue{opacity:0;visibility:hidden;}
.nm-team .nm-vplay{position:absolute;inset:0;margin:auto;z-index:2;width:76px;height:76px;border-radius:50%;background:var(--nm-primary);box-shadow:var(--nm-shadow-primary);border:0;cursor:pointer;display:grid;place-items:center;transition:transform .2s var(--nm-ease),background .2s;}
.nm-team .nm-vplay::after{content:"";position:absolute;inset:-12px;border-radius:50%;border:2px solid color-mix(in srgb,var(--nm-primary) 45%,transparent);animation:nm-vpulse 2.6s var(--nm-ease) infinite;}
.nm-team .nm-vplay:hover{transform:scale(1.07);}
.nm-team .nm-vplay svg{width:27px;height:27px;color:#fff;margin-left:4px;position:relative;}
.nm-team .nm-vplayer.is-playing .nm-vplay{display:none;}
/* === Elegáns videó-modal: a poszterre kattintva középre zoomol (20px keret, blur háttér) === */
.nm-team-modal{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(4,42,77,.82);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:0;transition:opacity .28s cubic-bezier(.22,1,.36,1);}
.nm-team-modal.is-open{display:flex;opacity:1;}
.nm-team-modal .nm-modal-inner{position:relative;width:fit-content;transform:scale(.94);transition:transform .3s cubic-bezier(.22,1,.36,1);}
.nm-team-modal.is-open .nm-modal-inner{transform:scale(1);}
.nm-team-modal video{display:block;max-width:min(1120px,100%);max-height:calc(100vh - 40px);width:auto;height:auto;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.5);background:#000;}
.nm-team-modal .nm-modal-close{position:absolute;top:-16px;right:-16px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#042a4d;cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .2s cubic-bezier(.22,1,.36,1);}
.nm-team-modal .nm-modal-close:hover{transform:scale(1.08) rotate(90deg);}
.nm-team-modal .nm-modal-close svg{width:22px;height:22px;}
body.nm-modal-lock{overflow:hidden;}
@media (max-width:560px){.nm-team-modal{padding:14px;}.nm-team-modal .nm-modal-close{top:8px;right:8px;background:rgba(255,255,255,.96);}}
@media (prefers-reduced-motion:reduce){.nm-team-modal,.nm-team-modal .nm-modal-inner{transition:none;}.nm-team-modal .nm-modal-inner{transform:none;}}
@keyframes nm-vpulse{0%{transform:scale(1);opacity:.9;}70%,100%{transform:scale(1.35);opacity:0;}}
@media (prefers-reduced-motion:reduce){ .nm-team .nm-vplay::after{animation:none;} }
.nm-team .nm-float{position:absolute;background:var(--nm-surface);border-radius:16px;box-shadow:var(--nm-shadow);border:1px solid var(--nm-line);padding:13px 16px;display:flex;gap:12px;align-items:center;z-index:3;transition:opacity .35s var(--nm-ease),visibility .35s;}
/* lejátszás közben a dekoratív chip eltűnik, hogy ne takarja a natív vezérlőt */
.nm-team .nm-vstage.is-playing .nm-float{opacity:0;visibility:hidden;}
.nm-team .nm-fic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto;}
.nm-team .nm-fic svg{width:20px;height:20px;}
.nm-team .nm-ft{display:block;font-family:var(--nm-font-display);font-weight:700;font-size:15px;line-height:1.1;}
.nm-team .nm-fd{display:block;font-size:12.5px;color:var(--nm-ink-soft);margin-top:2px;}

/* ====== SECTIONS ====== */
.nm-team .nm-section{padding:clamp(58px,7vw,96px) 0;position:relative;background:var(--nm-bg);}
.nm-team .nm-section.bg-2{background:var(--nm-surface-2);}
.nm-team .nm-section-head{max-width:760px;} .nm-team .nm-section-head.center{margin:0 auto;text-align:center;}
.nm-team .nm-section-head h2{font-size:clamp(28px,3.6vw,42px);margin-top:14px;}
.nm-team .nm-section-head .nm-lead{margin-top:16px;}

/* ====== tagsorok (alternating) ====== */
.nm-team .nm-members{margin-top:18px;}
.nm-team .nm-member{display:grid;grid-template-columns:340px 1fr;gap:54px;align-items:center;}
.nm-team .nm-member.rev{grid-template-columns:1fr 340px;}
.nm-team .nm-member + .nm-member{margin-top:58px;padding-top:58px;border-top:1px solid var(--nm-line);}
.nm-team .nm-member.rev .nm-mphoto{order:2;}
/* a tag-fotók egységes 600x789 méretűek → nincs cover-crop (nem vágjuk le a fejet), fix oszlopszélesség → azonos méret mindkét oldalon */
.nm-team .nm-mphoto img{width:100%;height:auto;display:block;border-radius:var(--nm-radius-lg);box-shadow:var(--nm-shadow);background:#f6f2e6;}
.nm-team .nm-mbody h3{font-size:clamp(24px,2.6vw,30px);}
.nm-team .nm-mrole{font-family:var(--nm-font-display);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--nm-primary);margin-top:7px;}
.nm-team .nm-mbody p{margin-top:15px;color:var(--nm-ink-soft);font-size:16.5px;}
.nm-team .nm-mbody p:first-of-type{margin-top:22px;}
.nm-team .nm-mbody a{color:var(--nm-primary);font-weight:600;}

/* ====== CTA ====== */
.nm-team .nm-ctaband{background:var(--nm-dark);color:#fff;border-radius:var(--nm-radius-lg);padding:54px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;box-shadow:var(--nm-shadow);}
.nm-team .nm-ctaband h2{color:#fff;font-size:clamp(24px,3vw,34px);max-width:600px;}

@media (max-width:900px){
  .nm-team .nm-grid{grid-template-columns:1fr;gap:38px;padding:46px 0 56px;}
  .nm-team .nm-float{display:none;}
  .nm-team .nm-member,.nm-team .nm-member.rev{grid-template-columns:1fr;gap:22px;}
  .nm-team .nm-member.rev .nm-mphoto{order:0;}
  .nm-team .nm-mphoto{max-width:300px;}
}
@media (prefers-reduced-motion:reduce){
  .nm-team .nm-blob,.nm-team .nm-floaty{animation:none!important;}
}
