/* ============================================================
   netmetro — "Custom software development" (/software-development) — .nm flagship redesign
   Közös az EN (en/contents/content_software.php) és HU (hu/...) változathoz.
   ÖNÁLLÓ: a content-partial linkeli a Sora/Hanken fontot; minden .nm érték hardcode-olva
   (a layout_default nem tölti a nm-redesign.css-t). Scope: minden szabály a .nm-software alatt.
   Tartalmazza a beágyazott ajánlatkérő űrlap (.nm-form-card) stílusait is (a főoldali CTA mintájára).
   ============================================================ */

/* Tokenek + alap .nm tipográfia: közös nm-tokens.css (a layout_default <head>-je tölti).
   A .nm-software.nm wrapper a .nm osztály révén megkapja — itt már nem duplikáljuk (Fázis 2b). */
.nm-software *,.nm-software *::before,.nm-software *::after{box-sizing:border-box;}
.nm-software h1,.nm-software h2,.nm-software h3,.nm-software h4{font-family:var(--nm-font-display);font-weight:700;line-height:1.1;letter-spacing:-.02em;margin:0;color:var(--nm-ink);}
.nm-software p{margin:0;} .nm-software a{color:inherit;text-decoration:none;} .nm-software svg{display:block;overflow:visible;}
.nm-software .nm-container{width:100%;max-width:var(--nm-container);margin:0 auto;padding:0 28px;position:relative;z-index:2;}
.nm-software .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-software .nm-eyebrow::before{content:"";width:26px;height:2px;background:var(--nm-primary);border-radius:2px;}
.nm-software .nm-eyebrow.on-dark{color:#ffb4a8;}.nm-software .nm-eyebrow.on-dark::before{background:#ffb4a8;}
.nm-software .nm-lead{font-size:19px;color:var(--nm-ink-soft);margin-top:22px;} .nm-software .nm-hl{color:var(--nm-primary);}
.nm-software .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-software .nm-btn svg{width:18px;height:18px;}
.nm-software .nm-btn-primary{background:var(--nm-primary);color:#fff;box-shadow:var(--nm-shadow-primary);}.nm-software .nm-btn-primary:hover{transform:translateY(-2px);color:#fff;}
.nm-software .nm-btn-ghost{background:transparent;color:var(--nm-ink);border:1.5px solid var(--nm-line);}.nm-software .nm-btn-ghost:hover{border-color:var(--nm-ink);transform:translateY(-2px);}
.nm-software .nm-btn-lg{padding:18px 32px;font-size:17px;}
.nm-software .nm-textlink{display:inline-flex;align-items:center;gap:7px;font-family:var(--nm-font-display);font-weight:600;font-size:15.5px;color:var(--nm-primary);}
.nm-software .nm-textlink svg{width:16px;height:16px;transition:transform .2s var(--nm-ease);}
.nm-software .nm-textlink:hover svg{transform:translateX(4px);}
.nm-software .nm-cta{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap;align-items:center;}

/* ===== HERO ===== */
.nm-software .nm-hero{position:relative;overflow:hidden;background:var(--nm-bg);}
.nm-software .nm-fx{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.nm-software .nm-blob{display:block;border-radius:50%;filter:blur(64px);position:absolute;}
.nm-software .nm-b-red{width:460px;height:460px;opacity:.45;top:-14%;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-software .nm-b-navy{width:420px;height:420px;opacity:.40;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-software .nm-b-gold{width:300px;height:300px;opacity:.38;top:30%;left:44%;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-software .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:.13;-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-software .nm-floaty{animation:nm-floaty 6s var(--nm-ease) infinite;}.nm-software .nm-floaty.d1{animation-delay:-2s;}
.nm-software .nm-grid{display:grid;grid-template-columns:1fr 1.04fr;gap:54px;align-items:center;padding:72px 0 96px;}
.nm-software .nm-hero h1{font-size:clamp(34px,4.6vw,56px);}
.nm-software .nm-avail{display:inline-flex;align-items:center;gap:9px;font-family:var(--nm-font-display);font-weight:600;font-size:13.5px;color:var(--nm-ink-soft);}
.nm-software .nm-avail b{width:9px;height:9px;border-radius:50%;background:#2bb673;box-shadow:0 0 0 4px color-mix(in srgb,#2bb673 22%,transparent);}

/* dashboard mock */
.nm-software .nm-app{background:var(--nm-surface);border:1px solid var(--nm-line);border-radius:var(--nm-radius-lg);box-shadow:var(--nm-shadow);overflow:hidden;}
.nm-software .nm-app-bar{display:flex;align-items:center;gap:8px;padding:13px 16px;border-bottom:1px solid var(--nm-line);background:var(--nm-surface-2);}
.nm-software .nm-app-bar .d{width:11px;height:11px;border-radius:50%;}
.nm-software .nm-app-bar .u{margin-left:10px;font-size:12px;color:var(--nm-ink-soft);}
.nm-software .nm-app-body{display:grid;grid-template-columns:62px 1fr;min-height:300px;}
.nm-software .nm-app-side{background:#042a4d;padding:18px 0;display:flex;flex-direction:column;align-items:center;gap:16px;}
.nm-software .nm-app-side .logo{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--nm-primary),#f0873f);}
.nm-software .nm-app-side i{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#9db4cc;}
.nm-software .nm-app-side i.on{background:rgba(255,255,255,.10);color:#fff;}
.nm-software .nm-app-side i svg{width:17px;height:17px;}
.nm-software .nm-app-main{padding:20px 22px;}
.nm-software .nm-app-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.nm-software .nm-app-h h4{font-size:16px;}
.nm-software .nm-app-h .av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--nm-accent),#e15554);}
.nm-software .nm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:16px;}
.nm-software .nm-stat{border:1px solid var(--nm-line);border-radius:13px;padding:12px 13px;}
.nm-software .nm-stat .k{font-size:11px;color:var(--nm-ink-soft);font-family:var(--nm-font-display);font-weight:600;letter-spacing:.03em;}
.nm-software .nm-stat .v{font-family:var(--nm-font-display);font-weight:800;font-size:21px;margin-top:3px;}
.nm-software .nm-stat .v small{font-size:12px;color:#2bb673;font-weight:700;}
.nm-software .nm-chart{border:1px solid var(--nm-line);border-radius:13px;padding:14px 14px 10px;}
.nm-software .nm-chart .ct{font-size:11px;color:var(--nm-ink-soft);font-family:var(--nm-font-display);font-weight:600;margin-bottom:11px;}
.nm-software .nm-bars{display:flex;align-items:flex-end;gap:10px;height:86px;}
.nm-software .nm-bars span{flex:1;border-radius:6px 6px 0 0;background:linear-gradient(180deg,var(--nm-primary),#f0873f);opacity:.92;animation:nm-bargrow 1.1s var(--nm-ease) both;}
@keyframes nm-bargrow{from{height:0 !important;opacity:0;}to{opacity:.92;}}
.nm-software .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;}
.nm-software .nm-fic{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex:0 0 auto;}
.nm-software .nm-fic svg{width:20px;height:20px;}
.nm-software .nm-ft{display:block;font-family:var(--nm-font-display);font-weight:700;font-size:15px;line-height:1.1;}
.nm-software .nm-fd{display:block;font-size:12.5px;color:var(--nm-ink-soft);margin-top:2px;}

/* ===== SECTIONS ===== */
.nm-software .nm-section{padding:clamp(58px,7vw,96px) 0;position:relative;background:var(--nm-bg);}
.nm-software .nm-section.bg-2{background:var(--nm-surface-2);}
.nm-software .nm-section.bg-dark{background:var(--nm-dark);color:var(--nm-dark-ink);}
.nm-software .nm-section.bg-dark h2,.nm-software .nm-section.bg-dark h3{color:#fff;}
.nm-software .nm-section-head{max-width:820px;}.nm-software .nm-section-head.center{margin:0 auto;text-align:center;}
.nm-software .nm-section-head h2{font-size:clamp(27px,3.5vw,40px);margin-top:14px;}
.nm-software .nm-section-head h2 .sub{display:block;color:var(--nm-primary);}
.nm-software .nm-section.bg-dark .nm-section-head h2 .sub{color:#ffb4a8;}

/* feature row */
.nm-software .nm-feat{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;}
.nm-software .nm-feat.rev .nm-feat-media{order:2;}
.nm-software .nm-feat-media img{width:100%;border-radius:var(--nm-radius-lg);box-shadow:var(--nm-shadow);display:block;}
.nm-software .nm-feat h2{font-size:clamp(25px,3vw,36px);}
.nm-software .nm-feat h2 .sub{display:block;color:var(--nm-primary);margin-top:4px;}
.nm-software .nm-feat p{margin-top:16px;color:var(--nm-ink-soft);font-size:17px;}
.nm-software .nm-bigline{font-family:var(--nm-font-display);font-weight:700;font-size:clamp(20px,2.3vw,27px);line-height:1.3;color:#fff;margin-top:20px;}
.nm-software .nm-bigline b{color:#ffb4a8;}

/* process steps */
.nm-software .nm-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px;counter-reset:s;}
.nm-software .nm-step{background:var(--nm-surface);border:1px solid var(--nm-line);border-radius:var(--nm-radius);box-shadow:var(--nm-shadow-sm);padding:28px 24px;position:relative;}
.nm-software .nm-step::before{counter-increment:s;content:"0" counter(s);font-family:var(--nm-font-display);font-weight:800;font-size:34px;color:color-mix(in srgb,var(--nm-primary) 22%,transparent);line-height:1;}
.nm-software .nm-step h3{font-size:18px;margin-top:12px;}
.nm-software .nm-step p{margin-top:9px;color:var(--nm-ink-soft);font-size:15px;}

/* capability chips */
.nm-software .nm-chips{display:flex;flex-wrap:wrap;gap:11px;margin-top:30px;}
.nm-software .nm-chip{display:inline-flex;align-items:center;gap:9px;background:var(--nm-surface);border:1px solid var(--nm-line);border-radius:999px;padding:11px 18px;font-family:var(--nm-font-display);font-weight:600;font-size:14.5px;box-shadow:var(--nm-shadow-sm);}
.nm-software .nm-chip svg{width:15px;height:15px;color:var(--nm-primary);}

/* why cards */
.nm-software .nm-why{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px;}
.nm-software .nm-wc{background:var(--nm-surface);border:1px solid var(--nm-line);border-radius:16px;padding:22px 22px;display:flex;gap:13px;align-items:flex-start;}
.nm-software .nm-wc .ck{width:30px;height:30px;border-radius:9px;flex:0 0 auto;display:grid;place-items:center;background:color-mix(in srgb,#2bb673 14%,transparent);color:#2bb673;}
.nm-software .nm-wc .ck svg{width:17px;height:17px;}
.nm-software .nm-wc p{font-family:var(--nm-font-display);font-weight:600;font-size:15.5px;color:var(--nm-ink);}

/* workload */
.nm-software .nm-wl{background:var(--nm-surface);border:1px solid var(--nm-line);border-radius:var(--nm-radius-lg);box-shadow:var(--nm-shadow);padding:34px 32px;margin-top:30px;}
.nm-software .nm-wl-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:8px;}
.nm-software .nm-wl-item .m{font-family:var(--nm-font-display);font-weight:600;font-size:14px;display:flex;justify-content:space-between;margin-bottom:9px;}
.nm-software .nm-wl-item .m .p{color:var(--nm-ink-soft);}
.nm-software .nm-wl-track{height:10px;border-radius:6px;background:#efe9da;overflow:hidden;}
.nm-software .nm-wl-fill{height:100%;border-radius:6px;}
.nm-software .nm-wl-fill.red{background:var(--nm-primary);} .nm-software .nm-wl-fill.amber{background:var(--nm-accent);} .nm-software .nm-wl-fill.green{background:#2bb673;}

/* ===== beágyazott ajánlatkérő űrlap (a főoldali CTA mintájára) ===== */
.nm-software .nm-quote-grid{display:grid;grid-template-columns:1fr .92fr;gap:54px;align-items:center;}
.nm-software .nm-form-card{background:var(--nm-surface);border:1px solid var(--nm-line);border-radius:20px;box-shadow:var(--nm-shadow);padding:32px;}
.nm-software .nm-form-card h3{font-size:22px;}
.nm-software .nm-fsub{font-size:14.5px;color:var(--nm-ink-soft);margin:6px 0 22px;}
.nm-software .nm-field{margin-bottom:15px;}
.nm-software .nm-field label{display:block;font-family:var(--nm-font-display);font-size:13px;font-weight:600;color:var(--nm-ink);margin-bottom:6px;}
.nm-software .nm-field input,.nm-software .nm-field textarea{width:100%;padding:13px 15px;border:1.5px solid var(--nm-line);border-radius:10px;font-family:var(--nm-font-body);font-size:15px;color:var(--nm-ink);background:#fff;transition:border-color .2s;}
.nm-software .nm-field input:focus,.nm-software .nm-field textarea:focus{outline:none;border-color:var(--nm-primary);}
.nm-software .nm-field textarea{resize:none;overflow:hidden;min-height:108px;max-height:420px;}
.nm-software .nm-form-error{background:color-mix(in srgb,var(--nm-primary) 10%,#fff);border:1px solid color-mix(in srgb,var(--nm-primary) 35%,transparent);color:var(--nm-primary);font-size:14px;border-radius:10px;padding:11px 14px;margin-bottom:14px;}
.nm-software .nm-form-card .nm-btn{width:100%;justify-content:center;margin-top:6px;margin-bottom:15px;}
.nm-software .nm-form-card .nm-btn[disabled]{cursor:default;}
.nm-software .nm-spin{width:18px;height:18px;border-radius:50%;border:2.5px solid rgba(255,255,255,.45);border-top-color:#fff;display:inline-block;animation:nm-spin .7s linear infinite;}
@keyframes nm-spin{to{transform:rotate(360deg);}}
.nm-software .nm-form-privacy{font-size:12px;color:var(--nm-ink-soft);text-align:center;margin-top:15px;line-height:1.5;}
.nm-software .nm-form-privacy a{color:var(--nm-primary);}
.nm-software .nm-form-success{text-align:center;padding:18px 0;}
.nm-software .nm-form-success h3{color:var(--nm-primary);font-size:22px;}
.nm-software .nm-form-success p{color:var(--nm-ink-soft);margin-top:8px;}
.nm-software .nm-files{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;}
.nm-software input[name="csali"]{display:none !important;}

/* ===== CTA ===== */
.nm-software .nm-ctaband{position:relative;overflow:hidden;background:var(--nm-dark);color:#fff;border-radius:var(--nm-radius-lg);padding:60px 50px;box-shadow:var(--nm-shadow);}
.nm-software .nm-ctaband h2{color:#fff;font-size:clamp(26px,3.2vw,38px);max-width:680px;}
.nm-software .nm-ctaband p{color:var(--nm-dark-soft);margin-top:14px;max-width:620px;}
.nm-software .nm-ctaband .nm-cta{margin-top:28px;}
.nm-software .nm-ctaband .nm-btn-ghost{color:#fff;border-color:rgba(255,255,255,.3);}

@media (max-width:920px){
  .nm-software .nm-grid{grid-template-columns:1fr;gap:40px;padding:46px 0 56px;}
  .nm-software .nm-feat{grid-template-columns:1fr;gap:28px;}.nm-software .nm-feat.rev .nm-feat-media{order:0;}
  .nm-software .nm-steps,.nm-software .nm-why,.nm-software .nm-stats{grid-template-columns:1fr;}
  .nm-software .nm-wl-grid{grid-template-columns:1fr 1fr;}
  .nm-software .nm-quote-grid{grid-template-columns:1fr;gap:34px;}
  .nm-software .nm-float{display:none;}
}
@media (prefers-reduced-motion:reduce){
  .nm-software .nm-blob,.nm-software .nm-floaty,.nm-software .nm-bars span{animation:none !important;}
}
