
/* ============================= SOLUTIONS 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; }
.sec-jump{ list-style:none; display:flex; flex-wrap:wrap; gap:0.7rem; margin:2.2rem 0 0; padding:0; }
.sec-jump a{ text-decoration:none; font-family:var(--font-mono); font-size:0.82rem; color:#CFE4EE; border:1px solid rgba(255,255,255,0.18); border-radius:99px; padding:0.55rem 1rem; transition:border-color .15s ease, background .15s ease; }
.sec-jump a:hover{ border-color:rgba(124,192,234,0.6); background:rgba(255,255,255,0.04); }

/* ============================= SECTOR BLOCKS ============================= */
/* sections that wrap a single .sector row already get generous padding from .sector itself — avoid stacking outer .section padding on top */
.section:has(> .wrap > .sector){ padding-top:clamp(1.6rem,3vw,2.6rem); padding-bottom:clamp(1.6rem,3vw,2.6rem); }
.sector{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:center; padding:clamp(3rem,6vw,4.6rem) 0; border-bottom:1px solid var(--border); }
.sector:last-of-type{ border-bottom:none; }
.sector.rev{ direction:rtl; }
.sector.rev > *{ direction:ltr; }
@media (max-width:900px){ .sector, .sector.rev{ direction:ltr; grid-template-columns:1fr; } }
.sector-photo{ border-radius:var(--radius-l); overflow:hidden; border:1px solid var(--border); box-shadow:var(--shadow-1); aspect-ratio:4/3; }
.sector-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.sector-stat{ font-family:var(--font-mono); font-size:0.78rem; color:var(--copper); text-transform:uppercase; letter-spacing:0.05em; }
.sector h2{ font-size:clamp(1.5rem,2.6vw,2.05rem); margin:0.5rem 0 1.2rem; }
.ps-row{ display:flex; flex-direction:column; gap:0.9rem; margin-bottom:1.3rem; }
.ps-row .ps{ display:flex; gap:0.8rem; align-items:baseline; padding:0.9rem 1.1rem; border-radius:var(--radius-m); }
.ps-row .ps.problem{ background:var(--surface-2); }
.ps-row .ps.solution{ background:var(--copper-soft); }
.ps-row .ps b{ font-family:var(--font-mono); font-size:0.7rem; text-transform:uppercase; letter-spacing:0.06em; flex:0 0 auto; color:var(--muted); }
.ps-row .ps.solution b{ color:var(--copper); }
.ps-row .ps span{ font-size:0.92rem; color:var(--ink-soft); line-height:1.5; }
.sector .rel-chip{ display:inline-flex; align-items:center; gap:0.5rem; font-family:var(--font-mono); font-size:0.78rem; color:var(--blue-strong); border:1px solid var(--border-strong); border-radius:99px; padding:0.4rem 0.85rem; text-decoration:none; }

/* ============================= ÖZEL PROJELER — proje bazlı örnek kartları ============================= */
.section-lead{ max-width:62ch; color:var(--ink-soft); font-size:1.05rem; line-height:1.65; margin-top:1rem; }
.example-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.7rem; margin-top:2.8rem; }
@media (max-width:900px){ .example-grid{ grid-template-columns:1fr; } }
.example-card{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-l); padding:1.9rem 1.8rem; display:flex; flex-direction:column; box-shadow:var(--shadow-1); scroll-margin-top:5.5rem; }
.example-card .card-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.15rem; }
.example-card .card-icon{ width:46px; height:46px; border-radius:var(--radius-m); background:var(--copper-soft); display:flex; align-items:center; justify-content:center; color:var(--copper); flex:none; }
.example-card .card-icon svg{ width:24px; height:24px; }
.example-card .badge{ font-family:var(--font-mono); font-size:0.64rem; letter-spacing:0.06em; text-transform:uppercase; padding:0.32rem 0.7rem; border-radius:99px; background:var(--copper-soft); border:1px solid var(--border-strong); color:var(--copper); white-space:nowrap; }
.example-card h3{ color:var(--ink); font-size:1.28rem; margin:0 0 0.4rem; }
.example-card .card-sub{ color:var(--muted); font-size:0.92rem; line-height:1.5; margin-bottom:1.3rem; }
.mini-flow{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0; }
.mini-flow li{ display:grid; grid-template-columns:100px 1fr; gap:0.8rem; padding:0.65rem 0; border-bottom:1px solid var(--border); font-size:0.86rem; }
.mini-flow li:last-child{ border-bottom:none; }
.mini-flow b{ font-family:var(--font-mono); font-size:0.66rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--muted); }
.mini-flow span{ color:var(--ink-soft); line-height:1.5; }
.example-card{ text-decoration:none; color:inherit; transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.example-card:hover{ border-color:var(--blue-strong); transform:translateY(-3px); box-shadow:0 16px 30px -16px rgba(1,56,73,0.28); }
.example-card .card-link{ display:inline-flex; align-items:center; gap:0.4rem; margin-top:auto; padding-top:0.3rem; font-family:var(--font-mono); font-size:0.82rem; font-weight:600; color:var(--blue-strong); }
.example-card .card-link svg{ transition:transform .15s ease; }
.example-card:hover .card-link svg{ transform:translateX(3px); }


/* ============================= 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; }
