
/* ============================= PLATFORM PAGE — page hero ============================= */
.phero{ position:relative; background-color:var(--deep); background-image:radial-gradient(ellipse 820px 620px at 86% -8%, rgba(31,157,217,0.20), transparent 60%), radial-gradient(ellipse 560px 560px at -8% 108%, rgba(106,198,183,0.12), transparent 60%); color:#EAF3F8; padding:clamp(7rem,12vw,9rem) 0 0; overflow:hidden; }
.phero::before{
  content:""; position:absolute; inset:0; z-index:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size:40px 40px, 40px 40px;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.phero::after{ content:""; position:absolute; right:0; top:0; bottom:0; width:1px; z-index:0; background:linear-gradient(rgba(255,255,255,0), #1F9DD9, rgba(255,255,255,0)); opacity:0.4; }
.phero .wrap{ position:relative; z-index:1; }
.phero h1{ color:#fff; font-family:var(--font-hero); font-weight:700; font-size:clamp(2.4rem,4.8vw,3.8rem); line-height:0.98; letter-spacing:0.002em; max-width:20ch; margin-top:0.9rem; }
.phero .sub{ color:#B7D1DF; font-size:1.08rem; line-height:1.65; max-width:62ch; margin-top:1.2rem; }
.phero-shot{ margin-top:3rem; border-radius:var(--radius-l) var(--radius-l) 0 0; overflow:hidden; border:1px solid rgba(255,255,255,0.1); border-bottom:none; box-shadow:0 -20px 60px -20px rgba(0,0,0,0.5); }
.phero-shot .shot-chrome{ background:#0B1922; }
.phero-shot img{ width:100%; display:block; }

/* ============================= MODULE GROUPS ============================= */
.module-groups{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; margin-top:2.6rem; }
@media (max-width:980px){ .module-groups{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .module-groups{ grid-template-columns:1fr; } }
.mgroup{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-m); padding:1.4rem 1.3rem; }
.mgroup h4{ font-family:var(--font-mono); font-size:0.72rem; text-transform:uppercase; letter-spacing:0.07em; color:var(--blue-strong); margin-bottom:0.9rem; }
.mgroup ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0.55rem; }
.mgroup li{ font-size:0.88rem; color:var(--ink-soft); padding-left:0.9rem; position:relative; }
.mgroup li::before{ content:""; position:absolute; left:0; top:0.5em; width:5px; height:5px; border-radius:50%; background:var(--border-strong); }

/* ============================= DEEP DIVE ============================= */
.deep-shot{ margin-top:2.8rem; }
.deep-shot .shot-card{ max-width:none; }


/* ============================= HERO GLOW — enerjik ağ/sinyal dekorasyonu ============================= */
.hero-glow{ position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.hero-glow svg{ width:100%; height:100%; display:block; }
.hg-nodes circle{ transform-box:fill-box; transform-origin:center; filter:drop-shadow(0 0 4px currentColor) drop-shadow(0 0 11px currentColor); animation:hgNodePulse 2.2s ease-in-out infinite; }
@keyframes hgPulse{ 0%,100%{ opacity:.4; } 50%{ opacity:1; } }
@keyframes hgNodePulse{ 0%,100%{ opacity:.5; transform:scale(1); } 50%{ opacity:1; transform:scale(1.55); } }
.hg-lines path{ stroke-dasharray:10 6; stroke-linecap:round; animation:hgFlow 6.5s linear infinite; }
@keyframes hgFlow{ to{ stroke-dashoffset:-560; } }
.hg-lines[stroke="#1F9DD9"]{ color:#1F9DD9; }
.hg-lines[stroke="#6AC6B7"]{ color:#6AC6B7; }
.hg-lines[stroke-opacity="0.16"]{ stroke-opacity:0.24; }
.hg-lines[stroke-opacity="0.35"]{ stroke-opacity:0.42; }
.hg-lines path{ stroke-width:1.5px; filter:drop-shadow(0 0 1.2px currentColor); }
.hg-photons circle{ filter:drop-shadow(0 0 1.6px currentColor) drop-shadow(0 0 5px currentColor); animation-name:hgPhotonFade; animation-timing-function:linear; animation-iteration-count:infinite; }
@keyframes hgPhotonFade{ 0%,100%{ opacity:0; } 12%,55%{ opacity:1; } 90%{ opacity:0; } }

/* diyagram düğümlerine / sinyal halkalarına ince neon parıltısı */
.big-diagram svg circle[fill="none"], .lorawan-diagram svg circle[fill="none"]{ animation:hgPulse 2.8s ease-in-out infinite; }
.big-diagram svg rect[fill="none"], .lorawan-diagram svg rect[fill="none"]{ filter:drop-shadow(0 0 5px rgba(31,157,217,0.28)); }

.hero-glow.light .hg-nodes circle{ filter:none; animation:hgNodePulseLight 2.5s ease-in-out infinite; }
@keyframes hgNodePulseLight{ 0%,100%{ opacity:.42; transform:scale(1); } 50%{ opacity:1; transform:scale(1.45); } }

.section{ overflow:hidden; }
.section > .wrap{ position:relative; z-index:1; }
