
/* ============================= LORAWAN 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(7.5rem,13vw,9.5rem) 0 clamp(3.5rem,7vw,5rem); 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), #6AC6B7, rgba(255,255,255,0)); opacity:0.45; }
.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:18ch; margin-top:0.9rem; }
.phero .sub{ color:#B7D1DF; font-size:1.08rem; line-height:1.65; max-width:60ch; margin-top:1.2rem; }
.freq-strip{ display:flex; gap:clamp(1.2rem,3vw,2.4rem); flex-wrap:wrap; margin-top:2.6rem; padding-top:1.6rem; border-top:1px solid rgba(255,255,255,0.12); }
.freq-strip .v{ font-family:var(--font-mono); font-weight:600; font-size:1.1rem; color:#fff; }
.freq-strip .l{ font-size:0.76rem; color:#8FAFC0; margin-top:0.15rem; }

/* ============================= CLASS GRID ON LIGHT SECTION (override — .class-card is styled for dark bg by default) ============================= */
#class .class-card{ background:var(--surface); border-color:var(--border-strong); box-shadow:var(--shadow-1); }
#class .class-card h4{ color:var(--ink); }
#class .class-card p{ color:var(--ink-soft); }

/* ============================= BIG DIAGRAM ============================= */
.big-diagram{ margin-top:0; background:var(--deep-3); border:1px solid rgba(255,255,255,0.08); border-radius:var(--radius-l); padding:clamp(1.6rem,3.5vw,3rem); }
.big-diagram svg{ width:100%; height:auto; display:block; }
.big-diagram figcaption{ margin-top:1.4rem; font-size:0.85rem; color:#93B2C3; font-family:var(--font-mono); }

/* ============================= SECURITY LAYERS (timeline-style list) ============================= */
.sec-layers{ list-style:none; margin:2.6rem 0 0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--border); border:1px solid var(--border); border-radius:var(--radius-m); overflow:hidden; counter-reset:sec; }
@media (max-width:980px){ .sec-layers{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .sec-layers{ grid-template-columns:1fr; } }
.sec-layers li{ background:var(--surface); padding:1.5rem 1.3rem; }
.sec-layers .snum{ font-family:var(--font-mono); font-size:0.78rem; color:var(--blue-strong); }
.sec-layers h4{ font-size:0.98rem; margin:0.6rem 0 0.4rem; color:var(--ink); }
.sec-layers p{ font-size:0.83rem; color:var(--muted); line-height:1.5; }

/* ============================= TELEMETRY PROOF ============================= */
.telem-proof{ display:grid; grid-template-columns:1fr 1fr; gap:2.4rem; align-items:center; margin-top:2.8rem; }
@media (max-width:860px){ .telem-proof{ grid-template-columns:1fr; } }
.telem-proof .shot-card img{ background:#fff; padding:0.8rem; }


/* ============================= 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(106,198,183,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; }
