/* =========================================================
   PreveHub — Design System "Vigilență Luminoasă"
   Concept: editorial-investigativ, dosar premium
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,400..700&family=Outfit:wght@300;400;500;600;700&family=Space+Mono:wght@400;700&display=swap');

:root {
  /* Palette — deep ink + amber signal + alert green */
  --ink: #0A0C10;
  --ink-2: #11141B;
  --ink-3: #181C26;
  --paper: #F4F1EA;
  --paper-dim: #C9C5BC;
  --amber: #FFB627;
  --amber-deep: #E8941A;
  --signal: #4ADE80;
  --alert: #FF5A5F;
  --line: rgba(244,241,234,0.10);
  --line-strong: rgba(244,241,234,0.18);
  --card: rgba(244,241,234,0.025);

  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Outfit', sans-serif;
  --font-mono: 'Space Mono', monospace;

  --maxw: 1280px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  background: var(--ink);
  color: var(--paper);
  font-family: var(--font-body);
  font-size: 17px;
  line-height: 1.65;
  font-weight: 300;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* Grain overlay */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

::selection { background: var(--amber); color: var(--ink); }

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 32px; position: relative; z-index: 2; }

/* ===== TYPOGRAPHY ===== */
h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 400; line-height: 1.05; letter-spacing: -0.02em; }

.mono { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.15em; text-transform: uppercase; }

.eyebrow {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--amber);
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--amber); }

/* ===== HEADER / NAV ===== */
header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 50;
  transition: background 0.4s var(--ease), border-color 0.4s;
  border-bottom: 1px solid transparent;
}
header.scrolled {
  background: rgba(10,12,16,0.82);
  backdrop-filter: blur(16px) saturate(140%);
  border-bottom: 1px solid var(--line);
}
.nav {
  display: flex; align-items: center; justify-content: space-between;
  height: 76px;
}
.logo { display: flex; align-items: center; gap: 12px; font-family: var(--font-display); font-size: 1.5rem; font-weight: 600; letter-spacing: -0.03em; }
.logo-mark { height: 42px; width: 42px; flex-shrink: 0; display: block; transition: transform 0.4s var(--ease); }
.logo:hover .logo-mark { transform: rotate(-6deg) scale(1.05); }
.logo-text { display: flex; align-items: baseline; gap: 2px; }
.logo .dot { color: var(--amber); }
.logo .tld { font-family: var(--font-mono); font-size: 0.7rem; color: var(--paper-dim); letter-spacing: 0.1em; margin-left: 4px; align-self: center; }
.foot-brand .logo-mark { height: 38px; width: 38px; }
@media (max-width: 480px) {
  .logo-mark { height: 36px; width: 36px; }
  .logo { font-size: 1.3rem; gap: 9px; }
}

.nav-links { display: flex; align-items: center; gap: 36px; }
.nav-links a {
  font-size: 0.85rem; font-weight: 400; letter-spacing: 0.02em;
  color: var(--paper-dim); position: relative; transition: color 0.3s;
}
.nav-links a::after {
  content: ''; position: absolute; bottom: -6px; left: 0; width: 0; height: 1px;
  background: var(--amber); transition: width 0.3s var(--ease);
}
.nav-links a:hover { color: var(--paper); }
.nav-links a:hover::after { width: 100%; }

.nav-cta {
  font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase;
  padding: 11px 20px; border: 1px solid var(--amber); color: var(--amber);
  border-radius: 2px; transition: all 0.3s var(--ease);
}
.nav-cta:hover { background: var(--amber); color: var(--ink); }

.burger { display: none; flex-direction: column; gap: 5px; cursor: pointer; background: none; border: none; padding: 8px; }
.burger span { width: 24px; height: 2px; background: var(--paper); transition: 0.3s; transform-origin: center; }
.burger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.burger.active span:nth-child(2) { opacity: 0; }
.burger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ===== HERO ===== */
.hero { position: relative; padding: 180px 0 100px; overflow: hidden; }
.hero-glow {
  position: absolute; width: 700px; height: 700px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,182,39,0.14), transparent 65%);
  top: -150px; right: -150px; filter: blur(40px); pointer-events: none;
}
.hero-grid-bg {
  position: absolute; inset: 0; pointer-events: none; opacity: 0.5;
  background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse 80% 60% at 70% 20%, black, transparent);
}
.hero-inner { position: relative; }
.hero-tag { margin-bottom: 32px; }
.hero h1 {
  font-size: clamp(3rem, 8vw, 7.5rem);
  font-weight: 300;
  line-height: 0.96;
  margin-bottom: 36px;
  letter-spacing: -0.04em;
}
.hero h1 em { font-style: italic; font-weight: 500; color: var(--amber); }
.hero h1 .blk { display: block; }
.hero-lede {
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  max-width: 620px; color: var(--paper-dim); font-weight: 300; line-height: 1.6;
  margin-bottom: 48px;
}
.hero-actions { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }

.btn {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-mono); font-size: 0.78rem; letter-spacing: 0.08em; text-transform: uppercase;
  padding: 16px 28px; border-radius: 2px; transition: all 0.35s var(--ease); cursor: pointer; border: none;
}
.btn-primary { background: var(--amber); color: var(--ink); font-weight: 700; }
.btn-primary:hover { background: var(--paper); transform: translateY(-2px); }
.btn-ghost { border: 1px solid var(--line-strong); color: var(--paper); background: transparent; }
.btn-ghost:hover { border-color: var(--amber); color: var(--amber); }
.btn .arr { transition: transform 0.3s var(--ease); }
.btn:hover .arr { transform: translateX(4px); }

/* Hero stats ticker */
.hero-stats {
  margin-top: 80px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
  background: var(--line); border: 1px solid var(--line);
}
.hero-stat { background: var(--ink); padding: 28px 32px; }
.hero-stat .num { font-family: var(--font-display); font-size: 2.8rem; font-weight: 400; color: var(--amber); line-height: 1; letter-spacing: -0.03em; }
.hero-stat .lbl { font-size: 0.85rem; color: var(--paper-dim); margin-top: 10px; }

/* ===== SECTION SHELL ===== */
.section { padding: 110px 0; position: relative; }
.section-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 60px; gap: 40px; flex-wrap: wrap; }
.section-head .st-title { font-size: clamp(2.2rem, 4.5vw, 3.6rem); font-weight: 300; max-width: 720px; }
.section-head .st-title em { font-style: italic; color: var(--amber); }
.section-num { font-family: var(--font-mono); font-size: 0.72rem; color: var(--paper-dim); letter-spacing: 0.2em; }

/* ===== THEMES GRID ===== */
.themes { display: grid; grid-template-columns: repeat(12, 1fr); gap: 20px; }
.theme-card {
  background: var(--card); border: 1px solid var(--line); border-radius: 4px; padding: 34px;
  position: relative; overflow: hidden; transition: all 0.4s var(--ease); cursor: pointer;
  display: flex; flex-direction: column; min-height: 240px;
}
.theme-card:hover { border-color: var(--line-strong); background: rgba(255,182,39,0.04); transform: translateY(-4px); }
.theme-card .t-num { font-family: var(--font-mono); font-size: 0.7rem; color: var(--amber); letter-spacing: 0.2em; margin-bottom: auto; }
.theme-card h3 { font-size: 1.6rem; font-weight: 400; margin: 24px 0 12px; letter-spacing: -0.02em; }
.theme-card p { font-size: 0.92rem; color: var(--paper-dim); line-height: 1.55; }
.theme-card .t-arrow { margin-top: 20px; font-family: var(--font-mono); font-size: 0.72rem; color: var(--amber); letter-spacing: 0.1em; opacity: 0; transform: translateX(-6px); transition: all 0.35s var(--ease); }
.theme-card:hover .t-arrow { opacity: 1; transform: translateX(0); }
.span-6 { grid-column: span 6; }
.span-4 { grid-column: span 4; }
.span-8 { grid-column: span 8; }
.span-12 { grid-column: span 12; }
.theme-card.feature { background: linear-gradient(135deg, rgba(255,182,39,0.08), rgba(255,182,39,0.01)); border-color: rgba(255,182,39,0.2); }

/* ===== TICKER ===== */
.ticker { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:22px 0; overflow:hidden; background:var(--ink-2); }
.ticker-track { display:flex; width:max-content; white-space:nowrap; animation:scroll-x 32s linear infinite; will-change:transform; }
.ticker-group { display:flex; gap:60px; padding-right:60px; flex-shrink:0; }
.ticker-item { font-family:var(--font-display); font-size:1.4rem; font-style:italic; color:var(--paper-dim); display:inline-flex; align-items:center; gap:60px; }
.ticker-item::after { content:'✦'; color:var(--amber); font-style:normal; font-size:0.9rem; }

@keyframes scroll-x { to { transform:translate3d(-50%,0,0); } }

@media (max-width:560px){
  .ticker-track{ animation-duration:55s; }
}

/* ===== FEATURE SPLIT (chatbot / VR / 230) ===== */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.split.rev { direction: rtl; } .split.rev > * { direction: ltr; }
.split-content h2 { font-size: clamp(2rem, 4vw, 3.2rem); font-weight: 300; margin: 20px 0 24px; }
.split-content h2 em { font-style: italic; color: var(--amber); }
.split-content p { color: var(--paper-dim); margin-bottom: 28px; max-width: 480px; }
.feature-list { list-style: none; display: flex; flex-direction: column; gap: 14px; margin-bottom: 32px; }
.feature-list li { display: flex; gap: 14px; align-items: flex-start; font-size: 0.95rem; }
.feature-list li::before { content: '→'; color: var(--amber); font-family: var(--font-mono); flex-shrink: 0; }

/* Chatbot mock */
.chatbox { background: var(--ink-2); border: 1px solid var(--line-strong); border-radius: 8px; overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,0.5); }
.chatbox-bar { display: flex; align-items: center; gap: 12px; padding: 18px 22px; border-bottom: 1px solid var(--line); background: var(--ink-3); }
.chat-orb { width: 36px; height: 36px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, var(--amber), var(--amber-deep)); position: relative; }
.chat-orb::after { content:''; position:absolute; inset:-4px; border-radius:50%; border:1px solid rgba(255,182,39,0.3); animation: pulse-ring 2.4s var(--ease) infinite; }
@keyframes pulse-ring { 0%{transform:scale(1);opacity:1} 100%{transform:scale(1.5);opacity:0} }
.chat-id .nm { font-family: var(--font-display); font-size: 1rem; }
.chat-id .stt { font-family: var(--font-mono); font-size: 0.65rem; color: var(--signal); letter-spacing: 0.1em; }
.chatbox-body { padding: 24px; display: flex; flex-direction: column; gap: 14px; min-height: 280px; }
.bubble { max-width: 82%; padding: 13px 17px; font-size: 0.88rem; line-height: 1.5; border-radius: 12px; }
.bubble.u { align-self: flex-end; background: rgba(255,182,39,0.12); border: 1px solid rgba(255,182,39,0.18); border-bottom-right-radius: 3px; }
.bubble.b { align-self: flex-start; background: var(--ink-3); border: 1px solid var(--line); border-bottom-left-radius: 3px; }
.chatbox-input { display: flex; gap: 10px; padding: 16px 22px; border-top: 1px solid var(--line); }
.chatbox-input input { flex: 1; background: var(--ink-3); border: 1px solid var(--line); border-radius: 100px; padding: 11px 18px; color: var(--paper-dim); font-family: var(--font-body); font-size: 0.85rem; }
.chatbox-input button { width: 40px; height: 40px; border-radius: 50%; background: var(--amber); border: none; color: var(--ink); cursor: pointer; font-size: 1rem; }

/* VR mock */
.vr-stage { aspect-ratio: 4/3; border-radius: 8px; border: 1px solid var(--line-strong); overflow: hidden; position: relative; background: linear-gradient(160deg, #0d1420, #1a1308); display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 16px; }
.vr-stage .ico { font-size: 4rem; }
.vr-stage .vlbl { font-family: var(--font-mono); font-size: 0.78rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--amber); }
.vr-stage .lock { position: absolute; top: 16px; right: 16px; font-family: var(--font-mono); font-size: 0.65rem; padding: 5px 12px; border: 1px solid var(--alert); color: var(--alert); border-radius: 100px; letter-spacing: 0.1em; }
.vr-orbs { position: absolute; inset: 0; pointer-events: none; }
.vr-orbs span { position: absolute; border-radius: 50%; filter: blur(30px); opacity: 0.4; }

/* Form 230 */
.f230 { background: var(--ink-2); border: 1px solid var(--line-strong); border-radius: 8px; padding: 32px; position: relative; overflow: hidden; }
.f230::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background: linear-gradient(90deg, var(--amber), var(--signal)); }
.f230 h4 { font-size: 1.3rem; margin-bottom: 6px; }
.f230 .sub { font-size: 0.82rem; color: var(--paper-dim); margin-bottom: 24px; }
.fgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.fld { margin-bottom: 14px; }
.fld label { display: block; font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--paper-dim); margin-bottom: 7px; }
.fld input { width: 100%; background: var(--ink-3); border: 1px solid var(--line); border-radius: 4px; padding: 12px 14px; color: var(--paper); font-family: var(--font-body); font-size: 0.9rem; transition: border-color 0.25s; }
.fld input:focus { outline: none; border-color: var(--amber); }
.consent { display: flex; gap: 11px; align-items: flex-start; padding: 13px 15px; background: rgba(74,222,128,0.05); border: 1px solid rgba(74,222,128,0.18); border-radius: 6px; margin: 6px 0 16px; }
.consent .ck { min-width: 18px; height: 18px; border-radius: 4px; background: var(--signal); color: var(--ink); display: flex; align-items: center; justify-content: center; font-size: 0.7rem; font-weight: 700; margin-top: 2px; }
.consent span { font-size: 0.74rem; color: var(--paper-dim); line-height: 1.5; }
.f230 .note { font-family: var(--font-mono); font-size: 0.62rem; color: var(--paper-dim); text-align: center; margin-top: 12px; line-height: 1.6; letter-spacing: 0.05em; }
.btn-block { width: 100%; justify-content: center; }

/* 2-step flow */
.flow { display: flex; flex-direction: column; gap: 14px; margin-bottom: 28px; }
.flow-step { display: flex; gap: 16px; align-items: flex-start; padding: 18px 20px; background: var(--card); border: 1px solid var(--line); border-radius: 6px; }
.flow-step .n { min-width: 32px; height: 32px; border-radius: 6px; display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-weight: 700; font-size: 0.85rem; }
.flow-step.s1 .n { background: rgba(255,182,39,0.15); border: 1px solid rgba(255,182,39,0.3); color: var(--amber); }
.flow-step.s2 .n { background: rgba(74,222,128,0.12); border: 1px solid rgba(74,222,128,0.3); color: var(--signal); }
.flow-step h5 { font-family: var(--font-display); font-size: 1rem; font-weight: 500; margin-bottom: 4px; }
.flow-step p { font-size: 0.82rem; color: var(--paper-dim); margin: 0; line-height: 1.5; }

/* ===== CAMPAIGNS ===== */
.camp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.camp { border: 1px solid var(--line); border-radius: 6px; overflow: hidden; transition: all 0.4s var(--ease); background: var(--card); }
.camp:hover { transform: translateY(-5px); border-color: var(--line-strong); }
.camp-vis { height: 160px; position: relative; display: flex; align-items: center; justify-content: center; font-size: 3rem; overflow: hidden; }
.camp-vis.c1 { background: linear-gradient(135deg, rgba(255,182,39,0.18), rgba(255,90,95,0.08)); }
.camp-vis.c2 { background: linear-gradient(135deg, rgba(74,222,128,0.15), rgba(255,182,39,0.06)); }
.camp-vis.c3 { background: linear-gradient(135deg, rgba(122,150,255,0.15), rgba(74,222,128,0.06)); }
.camp-body { padding: 24px; }
.camp-status { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; padding: 4px 10px; border-radius: 100px; display: inline-block; margin-bottom: 14px; }
.st-active { background: rgba(74,222,128,0.12); color: var(--signal); border: 1px solid rgba(74,222,128,0.25); }
.st-soon { background: rgba(255,182,39,0.1); color: var(--amber); border: 1px solid rgba(255,182,39,0.22); }
.camp-body h3 { font-size: 1.35rem; font-weight: 400; margin-bottom: 10px; }
.camp-body p { font-size: 0.88rem; color: var(--paper-dim); line-height: 1.55; }

/* ===== MEDIA / BLOG ===== */
.posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.post { border-top: 1px solid var(--line-strong); padding-top: 22px; transition: border-color 0.3s; cursor: pointer; }
.post:hover { border-color: var(--amber); }
.post .meta { font-family: var(--font-mono); font-size: 0.65rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--amber); margin-bottom: 14px; }
.post h3 { font-size: 1.4rem; font-weight: 400; line-height: 1.2; margin-bottom: 12px; transition: color 0.3s; }
.post:hover h3 { color: var(--amber); }
.post p { font-size: 0.88rem; color: var(--paper-dim); }

/* ===== CTA BAND ===== */
.cta-band { background: var(--amber); color: var(--ink); padding: 90px 0; position: relative; overflow: hidden; }
.cta-band h2 { font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 300; max-width: 800px; margin-bottom: 28px; }
.cta-band h2 em { font-style: italic; font-weight: 600; }
.cta-band .btn-dark { background: var(--ink); color: var(--paper); }
.cta-band .btn-dark:hover { background: var(--ink-3); transform: translateY(-2px); }
.cta-watermark { position: absolute; right: -40px; bottom: -80px; font-family: var(--font-display); font-size: 22rem; font-weight: 600; opacity: 0.06; line-height: 1; pointer-events: none; }

/* ===== CONTACT ===== */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; }
.contact-card { display: flex; align-items: center; gap: 18px; padding: 24px; background: var(--card); border: 1px solid var(--line); border-radius: 6px; margin-bottom: 16px; transition: border-color 0.3s; }
.contact-card:hover { border-color: var(--amber); }
.contact-card .ci { font-size: 1.4rem; width: 52px; height: 52px; border-radius: 50%; background: rgba(255,182,39,0.1); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.contact-card .cl { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--paper-dim); margin-bottom: 4px; }
.contact-card .cv { font-family: var(--font-display); font-size: 1.25rem; }

/* ===== FOOTER ===== */
footer { border-top: 1px solid var(--line); padding: 70px 0 36px; background: var(--ink-2); }
.foot-top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 56px; }
.foot-brand .logo { font-size: 1.8rem; margin-bottom: 18px; }
.foot-brand p { font-size: 0.88rem; color: var(--paper-dim); max-width: 280px; }
.foot-col h5 { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--amber); margin-bottom: 18px; }
.foot-col a { display: block; font-size: 0.88rem; color: var(--paper-dim); margin-bottom: 11px; transition: color 0.25s; }
.foot-col a:hover { color: var(--paper); }
.foot-bot { display: flex; justify-content: space-between; align-items: center; padding-top: 28px; border-top: 1px solid var(--line); font-family: var(--font-mono); font-size: 0.68rem; color: var(--paper-dim); letter-spacing: 0.05em; flex-wrap: wrap; gap: 16px; }

/* ===== REVEAL ANIMATION ===== */
/* JS adds .js-anim to <html> when supported; only then do we hide-then-reveal.
   Without JS (or in full-page capture), content stays fully visible. */
.js-anim .reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.8s var(--ease), transform 0.8s var(--ease); }
.js-anim .reveal.in { opacity: 1; transform: translateY(0); }

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
  .split { gap: 48px; }
  .foot-top { grid-template-columns: 1fr 1fr; gap: 32px; }
  .span-6, .span-8, .span-4 { grid-column: span 12; }
  .themes .span-4 { grid-column: span 6; }
}
@media (max-width: 768px) {
  body { font-size: 16px; }
  .wrap { padding: 0 20px; }
  .nav-links { display: none; }
  .nav-links.open {
    display: flex; flex-direction: column; justify-content: center;
    position: fixed; inset: 0; width: 100%; height: 100%; height: 100dvh;
    background: var(--ink); padding: 90px 28px 40px; gap: 28px; z-index: 60;
    overflow-y: auto; -webkit-overflow-scrolling: touch;
  }
  .nav-links.open a { font-size: 1.4rem; font-family: var(--font-display); color: var(--paper); }
  /* Când meniul e deschis, blochează scroll-ul paginii din spate */
  body.nav-open { overflow: hidden; }
  /* Header rămâne opac deasupra meniului, cu burgerul X vizibil */
  body.nav-open header { background: var(--ink); z-index: 61; }
  .burger { display: flex; position: relative; z-index: 62; }
  .nav-cta { display: none; }
  .hero { padding: 130px 0 70px; }
  .hero-stats { grid-template-columns: 1fr; }
  .split, .split.rev { grid-template-columns: 1fr; direction: ltr; }
  .split.rev .split-visual { order: -1; }
  .camp-grid, .posts { grid-template-columns: 1fr; }
  .themes .span-4, .themes .span-6, .themes .span-8 { grid-column: span 12; }
  .contact-grid { grid-template-columns: 1fr; gap: 36px; }
  .foot-top { grid-template-columns: 1fr; }
  .section { padding: 70px 0; }
  .fgrid { grid-template-columns: 1fr; }
  .section-head { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 420px) {
  .hero h1 { font-size: 2.6rem; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .btn { justify-content: center; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  .js-anim .reveal { opacity: 1; transform: none; }
}

/* =========================================================
   DOMENII DE PREVENIRE (teme.html) — componente
   ========================================================= */

/* Domain switcher tabs */
.domain-tabs { display: flex; gap: 10px; flex-wrap: wrap; position: sticky; top: 76px; z-index: 30; background: rgba(10,12,16,0.9); backdrop-filter: blur(14px); padding: 18px 0; border-bottom: 1px solid var(--line); margin-bottom: 10px; }
.domain-tab { display: inline-flex; align-items: center; gap: 10px; padding: 13px 22px; border: 1px solid var(--line-strong); border-radius: 100px; font-family: var(--font-body); font-size: 0.9rem; color: var(--paper-dim); cursor: pointer; transition: all 0.3s var(--ease); background: transparent; }
.domain-tab .dt-ico { font-size: 1.1rem; }
.domain-tab:hover { border-color: var(--amber); color: var(--paper); }
.domain-tab.active { background: var(--amber); border-color: var(--amber); color: var(--ink); font-weight: 500; }

/* Domain panel */
.domain-panel { display: none; }
.domain-panel.active { display: block; animation: fade-panel 0.5s var(--ease); }
@keyframes fade-panel { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }

/* Reading layout: sticky sidebar + content */
.read-layout { display: grid; grid-template-columns: 240px 1fr; gap: 60px; align-items: start; }
.read-nav { position: sticky; top: 150px; }
.read-nav .rn-label { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); margin-bottom: 18px; }
.read-nav ul { list-style: none; }
.read-nav li { margin-bottom: 2px; }
.read-nav a { display: block; font-size: 0.86rem; color: var(--paper-dim); padding: 8px 0 8px 16px; border-left: 2px solid var(--line); transition: all 0.25s; line-height: 1.4; }
.read-nav a:hover { color: var(--paper); border-color: var(--line-strong); }
.read-nav a.active { color: var(--amber); border-color: var(--amber); }
.read-progress { height: 3px; background: var(--line); border-radius: 3px; margin-top: 20px; overflow: hidden; }
.read-progress span { display: block; height: 100%; width: 0; background: var(--amber); transition: width 0.15s; }

/* Content blocks */
.dblock { margin-bottom: 64px; scroll-margin-top: 160px; }
.dblock > .db-eyebrow { font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); margin-bottom: 14px; display: block; }
.dblock h2 { font-size: clamp(1.7rem, 3.5vw, 2.6rem); font-weight: 300; margin-bottom: 22px; letter-spacing: -0.02em; }
.dblock h2 em { font-style: italic; color: var(--amber); }
.dblock h3 { font-size: 1.4rem; font-weight: 400; margin: 32px 0 14px; }
.dblock p { color: var(--paper-dim); margin-bottom: 18px; line-height: 1.75; font-size: 1.01rem; }
.dblock p strong { color: var(--paper); font-weight: 500; }
.dblock .intro-quote { font-family: var(--font-display); font-style: italic; font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 300; line-height: 1.4; color: var(--paper); padding: 8px 0 8px 28px; border-left: 3px solid var(--amber); margin-bottom: 28px; }

/* Definition highlight box */
.def-box { background: linear-gradient(135deg, rgba(255,182,39,0.07), rgba(255,182,39,0.01)); border: 1px solid rgba(255,182,39,0.2); border-radius: 10px; padding: 30px 34px; margin: 24px 0; }
.def-box .db-tag { font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--amber); margin-bottom: 12px; }
.def-box p { font-size: 1.1rem; color: var(--paper); margin: 0; line-height: 1.65; }

/* Chip list (examples) */
.chip-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.chip-list span { font-size: 0.86rem; padding: 9px 16px; background: var(--card); border: 1px solid var(--line); border-radius: 6px; color: var(--paper-dim); transition: all 0.25s; }
.chip-list span:hover { border-color: var(--amber); color: var(--paper); transform: translateY(-2px); }

/* Legal accordion */
.legal-acc { border: 1px solid var(--line); border-radius: 10px; overflow: hidden; margin: 20px 0; }
.legal-item { border-bottom: 1px solid var(--line); }
.legal-item:last-child { border-bottom: none; }
.legal-q { display: flex; align-items: center; gap: 16px; width: 100%; padding: 20px 24px; background: var(--card); border: none; text-align: left; cursor: pointer; transition: background 0.25s; }
.legal-q:hover { background: rgba(255,182,39,0.04); }
.legal-q .art { font-family: var(--font-mono); font-size: 0.68rem; color: var(--amber); letter-spacing: 0.08em; padding: 5px 11px; border: 1px solid rgba(255,182,39,0.3); border-radius: 5px; flex-shrink: 0; white-space: nowrap; }
.legal-q .lt { font-family: var(--font-body); font-size: 0.98rem; color: var(--paper); flex: 1; }
.legal-q .lx { font-size: 1.3rem; color: var(--amber); transition: transform 0.3s var(--ease); flex-shrink: 0; }
.legal-q.open .lx { transform: rotate(45deg); }
.legal-a { max-height: 0; overflow: hidden; transition: max-height 0.4s var(--ease); }
.legal-a-inner { padding: 4px 24px 24px 24px; }
.legal-a p { font-size: 0.92rem; color: var(--paper-dim); margin: 0; line-height: 1.7; }

/* Forms grid (manifestation) */
.forms-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin: 24px 0; }
.form-item { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 26px; transition: all 0.35s var(--ease); position: relative; overflow: hidden; }
.form-item:hover { border-color: var(--line-strong); transform: translateY(-3px); }
.form-item .fi-ico { font-size: 1.7rem; margin-bottom: 14px; display: block; }
.form-item h4 { font-size: 1.15rem; font-weight: 500; margin-bottom: 10px; }
.form-item p { font-size: 0.88rem; color: var(--paper-dim); margin: 0; line-height: 1.6; }
.form-item.danger { border-color: rgba(255,90,95,0.2); }
.form-item.danger .fi-ico { filter: none; }

/* Prevention checklist */
.checklist { display: flex; flex-direction: column; gap: 12px; margin: 24px 0; }
.check-item { display: flex; gap: 16px; align-items: flex-start; padding: 18px 22px; background: var(--card); border: 1px solid var(--line); border-radius: 8px; transition: all 0.3s; }
.check-item:hover { border-color: rgba(74,222,128,0.3); background: rgba(74,222,128,0.03); }
.check-item .ci-mark { min-width: 26px; height: 26px; border-radius: 7px; background: rgba(74,222,128,0.12); border: 1px solid rgba(74,222,128,0.35); color: var(--signal); display: flex; align-items: center; justify-content: center; font-size: 0.8rem; font-weight: 700; flex-shrink: 0; margin-top: 1px; }
.check-item p { margin: 0; font-size: 0.94rem; color: var(--paper-dim); line-height: 1.6; }
.check-item p strong { color: var(--paper); }

/* Warning signs (violence) */
.signs-wrap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 24px 0; }
.sign { display: flex; align-items: center; gap: 12px; padding: 15px 18px; background: var(--card); border: 1px solid var(--line); border-radius: 8px; font-size: 0.86rem; color: var(--paper-dim); transition: all 0.3s; }
.sign:hover { border-color: rgba(255,90,95,0.3); color: var(--paper); }
.sign .s-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--alert); flex-shrink: 0; }

/* Emergency callout */
.emergency { display: flex; align-items: center; gap: 20px; padding: 26px 30px; background: rgba(255,90,95,0.08); border: 1px solid rgba(255,90,95,0.3); border-radius: 12px; margin: 28px 0; }
.emergency .e-num { font-family: var(--font-display); font-size: 3rem; font-weight: 600; color: var(--alert); line-height: 1; }
.emergency .e-txt h4 { font-size: 1.15rem; font-weight: 500; margin-bottom: 6px; }
.emergency .e-txt p { font-size: 0.9rem; color: var(--paper-dim); margin: 0; }

/* PreveHub role box */
.role-box { background: var(--ink-2); border: 1px solid var(--line-strong); border-radius: 12px; padding: 36px; margin: 28px 0; position: relative; overflow: hidden; }
.role-box::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: linear-gradient(180deg, var(--amber), var(--signal)); }
.role-box h3 { margin-top: 0; }
.role-box .role-list { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; }
.role-box .role-list li { display: flex; gap: 12px; align-items: flex-start; font-size: 0.9rem; color: var(--paper-dim); line-height: 1.5; }
.role-box .role-list li::before { content: '→'; color: var(--amber); font-family: var(--font-mono); flex-shrink: 0; }

/* Blog invite */
.blog-invite { background: linear-gradient(135deg, rgba(123,143,255,0.08), rgba(0,0,0,0)); border: 1px solid var(--line); border-radius: 12px; padding: 32px; margin-top: 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.blog-invite .bi-txt h4 { font-size: 1.3rem; font-weight: 400; margin-bottom: 8px; }
.blog-invite .bi-txt p { font-size: 0.9rem; color: var(--paper-dim); margin: 0; max-width: 480px; }

/* Animated SVG flows */
.flow-viz { background: var(--ink-2); border: 1px solid var(--line); border-radius: 12px; padding: 34px; margin: 28px 0; }
.flow-viz .fv-title { font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--amber); margin-bottom: 20px; text-align: center; }
.dash-flow { stroke-dasharray: 6 6; animation: dash-move 1s linear infinite; }
@keyframes dash-move { to { stroke-dashoffset: -12; } }
.pulse-node { animation: node-pulse 2.4s var(--ease) infinite; transform-origin: center; }
@keyframes node-pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.5; } }
.escalate-bar { transform-origin: bottom; animation: grow-bar 2s var(--ease) infinite alternate; }
@keyframes grow-bar { from { transform: scaleY(0.4); } to { transform: scaleY(1); } }

@media (max-width: 1024px) {
  .read-layout { grid-template-columns: 1fr; gap: 30px; }
  .read-nav { position: static; display: none; }
  .forms-grid { grid-template-columns: 1fr; }
  .role-box .role-list { grid-template-columns: 1fr; }
  .signs-wrap { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .signs-wrap { grid-template-columns: 1fr; }
  .domain-tab { padding: 11px 16px; font-size: 0.82rem; }
  .legal-q { padding: 16px 16px; flex-wrap: wrap; }
  .def-box, .role-box, .flow-viz { padding: 22px; }
  .emergency { flex-direction: column; text-align: center; }
}

/* =========================================================
   STUDII DE CAZ (studii.html)
   ========================================================= */
.case-filters { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 40px; }
.cf-btn { padding: 10px 18px; border: 1px solid var(--line-strong); border-radius: 100px; font-family: var(--font-body); font-size: 0.84rem; color: var(--paper-dim); cursor: pointer; transition: all 0.3s var(--ease); background: transparent; }
.cf-btn:hover { border-color: var(--amber); color: var(--paper); }
.cf-btn.active { background: var(--amber); border-color: var(--amber); color: var(--ink); font-weight: 500; }

.cases { display: flex; flex-direction: column; gap: 24px; }
.case { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--card); transition: border-color 0.35s var(--ease); }
.case:hover { border-color: var(--line-strong); }
.case-head { display: flex; align-items: flex-start; gap: 20px; padding: 30px 34px; cursor: pointer; }
.case-head .ch-icon { font-size: 1.8rem; width: 56px; height: 56px; border-radius: 12px; background: var(--ink-3); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.case-head .ch-main { flex: 1; }
.case-badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.cb { font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 10px; border-radius: 100px; }
.cb-cat { background: rgba(255,182,39,0.1); color: var(--amber); border: 1px solid rgba(255,182,39,0.22); }
.cb-real { background: rgba(255,90,95,0.1); color: var(--alert); border: 1px solid rgba(255,90,95,0.25); }
.cb-comp { background: rgba(123,143,255,0.1); color: var(--accent3); border: 1px solid rgba(123,143,255,0.25); }
.case-head h3 { font-size: 1.5rem; font-weight: 400; margin-bottom: 8px; letter-spacing: -0.01em; }
.case-head .ch-sum { font-size: 0.92rem; color: var(--paper-dim); line-height: 1.55; }
.case-head .ch-toggle { font-size: 1.5rem; color: var(--amber); transition: transform 0.35s var(--ease); flex-shrink: 0; align-self: center; }
.case.open .ch-toggle { transform: rotate(180deg); }

.case-body { max-height: 0; overflow: hidden; transition: max-height 0.5s var(--ease); }
.case-body-inner { padding: 4px 34px 34px 34px; border-top: 1px solid var(--line); margin-top: 4px; }
.case-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 8px; overflow: hidden; margin: 24px 0; }
.case-stat { background: var(--ink-2); padding: 18px 20px; }
.case-stat .cs-n { font-family: var(--font-display); font-size: 1.6rem; color: var(--amber); line-height: 1; }
.case-stat .cs-l { font-size: 0.72rem; color: var(--paper-dim); margin-top: 6px; }

.case-section { margin: 24px 0; }
.case-section h4 { font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--amber); margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }
.case-section p { font-size: 0.94rem; color: var(--paper-dim); line-height: 1.7; margin-bottom: 12px; }

.mechanism { display: flex; flex-direction: column; gap: 0; margin: 8px 0; }
.mech-step { display: flex; gap: 16px; padding-bottom: 20px; position: relative; }
.mech-step:not(:last-child)::before { content: ''; position: absolute; left: 13px; top: 30px; bottom: 0; width: 1px; background: var(--line-strong); }
.mech-step .ms-dot { width: 28px; height: 28px; border-radius: 50%; background: var(--ink-3); border: 1px solid rgba(255,182,39,0.4); color: var(--amber); display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 0.72rem; font-weight: 700; flex-shrink: 0; z-index: 1; }
.mech-step .ms-txt { font-size: 0.9rem; color: var(--paper-dim); line-height: 1.55; padding-top: 4px; }
.mech-step .ms-txt strong { color: var(--paper); }

.lessons { list-style: none; display: flex; flex-direction: column; gap: 10px; }
.lessons li { display: flex; gap: 12px; align-items: flex-start; padding: 14px 18px; background: rgba(74,222,128,0.04); border: 1px solid rgba(74,222,128,0.15); border-radius: 8px; font-size: 0.9rem; color: var(--paper-dim); line-height: 1.55; }
.lessons li::before { content: '✓'; color: var(--signal); font-weight: 700; flex-shrink: 0; }

.case-source { font-family: var(--font-mono); font-size: 0.68rem; color: var(--paper-dim); margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); letter-spacing: 0.03em; }
.case-source a { color: var(--amber); }

.case-empty { text-align: center; padding: 60px 40px; border: 1px dashed var(--line-strong); border-radius: 12px; background: var(--card); margin-top: 24px; }
.case-empty .ce-i { font-size: 2.4rem; margin-bottom: 16px; }
.case-empty h3 { font-size: 1.5rem; font-weight: 300; margin-bottom: 12px; }
.case-empty h3 em { font-style: italic; color: var(--amber); }
.case-empty p { color: var(--paper-dim); max-width: 480px; margin: 0 auto 24px; }

.method-note { display: flex; gap: 16px; align-items: flex-start; padding: 22px 26px; background: rgba(123,143,255,0.05); border: 1px solid rgba(123,143,255,0.18); border-radius: 10px; margin-bottom: 40px; }
.method-note .mn-i { font-size: 1.4rem; }
.method-note p { font-size: 0.88rem; color: var(--paper-dim); margin: 0; line-height: 1.65; }
.method-note strong { color: var(--paper); }

@media (max-width: 768px) {
  .case-head { padding: 22px; flex-wrap: wrap; }
  .case-body-inner { padding: 4px 22px 26px 22px; }
  .case-stats { grid-template-columns: 1fr 1fr; }
}

/* =========================================================
   STUDII DE CAZ — animații avansate & fluxuri dinamice
   ========================================================= */
.case.active-viz { border-color: rgba(255,182,39,0.3); box-shadow: 0 20px 60px rgba(0,0,0,0.4); }

/* Animated counters */
.counter { font-variant-numeric: tabular-nums; }

/* Reconstruction stage */
.recon { background: radial-gradient(ellipse at 50% 0%, rgba(255,182,39,0.06), transparent 60%), var(--ink-2); border: 1px solid var(--line-strong); border-radius: 12px; padding: 30px; margin: 24px 0; position: relative; overflow: hidden; }
.recon-label { font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); text-align: center; margin-bottom: 8px; }
.recon-title { font-family: var(--font-display); font-size: 1.1rem; text-align: center; margin-bottom: 24px; color: var(--paper); }
.recon-svg { width: 100%; height: auto; display: block; }

/* Flowing dashes on paths */
.flow-path { stroke-dasharray: 8 8; animation: flow-dash 1.2s linear infinite; }
@keyframes flow-dash { to { stroke-dashoffset: -16; } }
.flow-path-rev { stroke-dasharray: 8 8; animation: flow-dash-rev 1.2s linear infinite; }
@keyframes flow-dash-rev { to { stroke-dashoffset: 16; } }

/* Moving money particle */
.money-particle { animation: money-travel 3s var(--ease) infinite; }
@keyframes money-travel { 0% { opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { opacity: 0; } }

/* Node reveal (staggered via IntersectionObserver adds .revealed) */
.recon-node { opacity: 0.25; transition: opacity 0.6s var(--ease), transform 0.6s var(--ease); transform: scale(0.9); transform-box: fill-box; transform-origin: center; }
.recon.playing .recon-node { opacity: 1; transform: scale(1); }
.recon.playing .recon-node.n1 { transition-delay: 0.1s; }
.recon.playing .recon-node.n2 { transition-delay: 0.7s; }
.recon.playing .recon-node.n3 { transition-delay: 1.3s; }
.recon.playing .recon-node.n4 { transition-delay: 1.9s; }
.recon.playing .recon-node.n5 { transition-delay: 2.5s; }

/* Path draw animation */
.recon-link { stroke-dashoffset: 1000; stroke-dasharray: 1000; }
.recon.playing .recon-link { animation: draw-link 0.8s var(--ease) forwards; }
.recon.playing .recon-link.l1 { animation-delay: 0.5s; }
.recon.playing .recon-link.l2 { animation-delay: 1.1s; }
.recon.playing .recon-link.l3 { animation-delay: 1.7s; }
.recon.playing .recon-link.l4 { animation-delay: 2.3s; }
@keyframes draw-link { to { stroke-dashoffset: 0; } }

/* Pulsing danger ring */
.danger-ring { animation: danger-pulse 1.8s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes danger-pulse { 0%,100% { opacity: 0.3; r: 30; } 50% { opacity: 0.05; r: 42; } }

/* Play button for reconstruction */
.recon-play { display: inline-flex; align-items: center; gap: 10px; margin: 0 auto 4px; padding: 9px 18px; background: rgba(255,182,39,0.1); border: 1px solid rgba(255,182,39,0.3); border-radius: 100px; color: var(--amber); font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; transition: all 0.25s; }
.recon-play:hover { background: rgba(255,182,39,0.18); }
.recon-play-wrap { display: flex; justify-content: center; margin-bottom: 16px; }

/* Impact bar chart animated */
.impact-bars { display: flex; align-items: flex-end; gap: 14px; height: 120px; margin: 20px 0 8px; padding: 0 4px; }
.ibar { flex: 1; background: linear-gradient(180deg, var(--amber), var(--amber-deep)); border-radius: 4px 4px 0 0; transform-origin: bottom; transform: scaleY(0); transition: transform 1s var(--ease); position: relative; }
.recon.playing .ibar, .impact-visible .ibar { transform: scaleY(1); }
.ibar .ib-val { position: absolute; top: -22px; left: 50%; transform: translateX(-50%); font-family: var(--font-mono); font-size: 0.68rem; color: var(--amber); white-space: nowrap; }
.ibar .ib-lbl { position: absolute; bottom: -24px; left: 50%; transform: translateX(-50%); font-size: 0.66rem; color: var(--paper-dim); white-space: nowrap; }
.ibar.danger { background: linear-gradient(180deg, #FF7A5F, var(--alert)); }

/* Red flag timeline */
.redflags { display: flex; flex-direction: column; gap: 0; margin: 12px 0; }
.rf-item { display: flex; gap: 16px; padding: 12px 0; align-items: center; position: relative; opacity: 0; transform: translateX(-12px); transition: all 0.5s var(--ease); }
.impact-visible .rf-item, .recon.playing .rf-item { opacity: 1; transform: translateX(0); }
.rf-item:nth-child(1) { transition-delay: 0.1s; }
.rf-item:nth-child(2) { transition-delay: 0.25s; }
.rf-item:nth-child(3) { transition-delay: 0.4s; }
.rf-item:nth-child(4) { transition-delay: 0.55s; }
.rf-flag { width: 32px; height: 32px; border-radius: 8px; background: rgba(255,90,95,0.12); border: 1px solid rgba(255,90,95,0.3); display: flex; align-items: center; justify-content: center; font-size: 0.9rem; flex-shrink: 0; }
.rf-item p { margin: 0; font-size: 0.9rem; color: var(--paper-dim); line-height: 1.5; }

/* =========================================================
   BLOG HUB (blog.html)
   ========================================================= */
.blog-featured { display: grid; grid-template-columns: 1.15fr 1fr; gap: 0; border: 1px solid var(--line-strong); border-radius: 14px; overflow: hidden; margin-bottom: 50px; transition: border-color 0.35s; }
.blog-featured:hover { border-color: rgba(255,182,39,0.3); }
.bf-visual { position: relative; min-height: 380px; overflow: hidden; display: flex; align-items: center; justify-content: center; background: linear-gradient(150deg, #0d1420, #1a1308); }
.bf-body { padding: 48px; display: flex; flex-direction: column; justify-content: center; background: var(--ink-2); }
.bf-body .bf-cat { font-family: var(--font-mono); font-size: 0.66rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); margin-bottom: 16px; }
.bf-body h2 { font-size: clamp(1.7rem, 3.2vw, 2.6rem); font-weight: 300; line-height: 1.1; margin-bottom: 18px; letter-spacing: -0.02em; }
.bf-body h2 em { font-style: italic; color: var(--amber); }
.bf-body p { color: var(--paper-dim); margin-bottom: 24px; font-size: 0.98rem; line-height: 1.65; }
.bf-meta { display: flex; gap: 18px; align-items: center; font-family: var(--font-mono); font-size: 0.68rem; color: var(--paper-dim); letter-spacing: 0.05em; margin-bottom: 24px; }
.bf-meta .dot-sep { width: 3px; height: 3px; border-radius: 50%; background: var(--paper-dim); }

.blog-cats { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 36px; }
.bc-btn { padding: 10px 18px; border: 1px solid var(--line-strong); border-radius: 100px; font-family: var(--font-body); font-size: 0.84rem; color: var(--paper-dim); cursor: pointer; transition: all 0.3s var(--ease); background: transparent; }
.bc-btn:hover { border-color: var(--amber); color: var(--paper); }
.bc-btn.active { background: var(--amber); border-color: var(--amber); color: var(--ink); font-weight: 500; }

.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.post-card { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; background: var(--card); transition: all 0.4s var(--ease); display: flex; flex-direction: column; cursor: pointer; }
.post-card:hover { transform: translateY(-6px); border-color: var(--line-strong); }
.pc-visual { height: 180px; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.pc-visual.v-vishing { background: linear-gradient(140deg, rgba(255,182,39,0.14), rgba(255,90,95,0.08)); }
.pc-visual.v-deepfake { background: linear-gradient(140deg, rgba(123,143,255,0.16), rgba(255,182,39,0.06)); }
.pc-visual.v-seniors { background: linear-gradient(140deg, rgba(74,222,128,0.14), rgba(255,182,39,0.06)); }
.pc-visual .pc-ico { font-size: 3rem; z-index: 2; }
.pc-body { padding: 24px; flex: 1; display: flex; flex-direction: column; }
.pc-cat { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--amber); margin-bottom: 12px; }
.pc-body h3 { font-size: 1.3rem; font-weight: 400; line-height: 1.22; margin-bottom: 12px; letter-spacing: -0.01em; transition: color 0.3s; }
.post-card:hover h3 { color: var(--amber); }
.pc-body p { font-size: 0.88rem; color: var(--paper-dim); line-height: 1.55; margin-bottom: 18px; flex: 1; }
.pc-meta { display: flex; gap: 14px; align-items: center; font-family: var(--font-mono); font-size: 0.64rem; color: var(--paper-dim); letter-spacing: 0.04em; }

.pc-wave { position: absolute; inset: 0; opacity: 0.5; }
.pc-scan { position: absolute; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--accent3), transparent); animation: scan-move 2.6s ease-in-out infinite; }
@keyframes scan-move { 0%,100% { top: 20%; } 50% { top: 80%; } }

/* =========================================================
   ARTICLE (articol-*.html)
   ========================================================= */
.art-hero { padding: 130px 0 20px; position: relative; overflow: hidden; }
.art-hero .breadcrumb { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--paper-dim); margin-bottom: 16px; }
.art-hero .breadcrumb a { color: var(--amber); }
.art-cat { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); margin-bottom: 18px; display: inline-flex; align-items: center; gap: 10px; }
.art-cat::before { content: ''; width: 24px; height: 1px; background: var(--amber); }
.art-hero h1 { font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 300; line-height: 1.05; letter-spacing: -0.03em; max-width: 900px; margin-bottom: 24px; }
.art-hero h1 em { font-style: italic; color: var(--amber); }
.art-meta { display: flex; gap: 20px; align-items: center; font-family: var(--font-mono); font-size: 0.72rem; color: var(--paper-dim); letter-spacing: 0.04em; flex-wrap: wrap; }
.art-meta .am-author { display: flex; align-items: center; gap: 10px; }
.art-meta .am-avatar { width: 30px; height: 30px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, var(--amber), var(--amber-deep)); }
.art-meta .dot-sep { width: 3px; height: 3px; border-radius: 50%; background: var(--paper-dim); }

.art-hero-visual { margin: 40px 0 0; border-radius: 14px; overflow: hidden; border: 1px solid var(--line-strong); background: var(--ink-2); aspect-ratio: 21/9; display: flex; align-items: center; justify-content: center; position: relative; }

.art-layout { display: grid; grid-template-columns: 220px 1fr; gap: 60px; align-items: start; padding-top: 50px; }
.art-toc { position: sticky; top: 110px; }
.art-toc .toc-label { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); margin-bottom: 16px; }
.art-toc ul { list-style: none; }
.art-toc a { display: block; font-size: 0.84rem; color: var(--paper-dim); padding: 8px 0 8px 16px; border-left: 2px solid var(--line); transition: all 0.25s; line-height: 1.4; }
.art-toc a:hover { color: var(--paper); border-color: var(--line-strong); }
.art-toc a.active { color: var(--amber); border-color: var(--amber); }
.art-share { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); display: flex; gap: 10px; }
.art-share button { width: 36px; height: 36px; border-radius: 8px; border: 1px solid var(--line); background: var(--card); color: var(--paper-dim); cursor: pointer; transition: all 0.25s; font-size: 0.9rem; }
.art-share button:hover { border-color: var(--amber); color: var(--amber); }

.art-content { max-width: 720px; }
.art-content h2 { font-size: clamp(1.5rem, 3vw, 2.2rem); font-weight: 300; margin: 44px 0 18px; letter-spacing: -0.02em; scroll-margin-top: 110px; }
.art-content h2 em { font-style: italic; color: var(--amber); }
.art-content h3 { font-size: 1.35rem; font-weight: 400; margin: 32px 0 14px; }
.art-content p { color: var(--paper-dim); margin-bottom: 20px; font-size: 1.05rem; line-height: 1.8; }
.art-content p strong { color: var(--paper); font-weight: 500; }
.art-content .lead { font-size: 1.25rem; color: var(--paper); font-family: var(--font-display); font-weight: 300; line-height: 1.5; margin-bottom: 32px; }
.art-content ul, .art-content ol { margin: 0 0 22px 0; padding-left: 4px; list-style: none; }
.art-content ul li, .art-content ol li { position: relative; padding-left: 28px; margin-bottom: 12px; color: var(--paper-dim); line-height: 1.7; font-size: 1.02rem; }
.art-content ul li::before { content: '→'; position: absolute; left: 0; color: var(--amber); font-family: var(--font-mono); }
.art-content ol { counter-reset: ol-c; }
.art-content ol li::before { counter-increment: ol-c; content: counter(ol-c); position: absolute; left: 0; top: 0; color: var(--amber); font-family: var(--font-mono); font-size: 0.8rem; font-weight: 700; }

.pullquote { font-family: var(--font-display); font-style: italic; font-size: clamp(1.4rem, 3vw, 1.9rem); font-weight: 300; line-height: 1.35; color: var(--paper); padding: 12px 0 12px 30px; border-left: 3px solid var(--amber); margin: 36px 0; }

.stat-callout { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: 10px; overflow: hidden; margin: 32px 0; }
.stat-callout .sc { background: var(--ink-2); padding: 24px 22px; }
.stat-callout .sc-n { font-family: var(--font-display); font-size: 2.2rem; color: var(--amber); line-height: 1; letter-spacing: -0.02em; }
.stat-callout .sc-l { font-size: 0.8rem; color: var(--paper-dim); margin-top: 8px; line-height: 1.4; }

.art-figure { margin: 36px 0; border: 1px solid var(--line-strong); border-radius: 12px; overflow: hidden; background: var(--ink-2); }
.art-figure .af-inner { padding: 30px; }
.art-figure .af-cap { font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--paper-dim); text-align: center; padding: 14px 20px; border-top: 1px solid var(--line); background: var(--card); }

.tip-box { display: flex; gap: 16px; padding: 22px 26px; border-radius: 10px; margin: 28px 0; align-items: flex-start; }
.tip-box.tip-warn { background: rgba(255,90,95,0.06); border: 1px solid rgba(255,90,95,0.2); }
.tip-box.tip-good { background: rgba(74,222,128,0.05); border: 1px solid rgba(74,222,128,0.2); }
.tip-box.tip-info { background: rgba(123,143,255,0.05); border: 1px solid rgba(123,143,255,0.2); }
.tip-box .tb-ico { font-size: 1.4rem; flex-shrink: 0; }
.tip-box .tb-txt h4 { font-size: 1.05rem; font-weight: 500; margin-bottom: 6px; }
.tip-box .tb-txt p { font-size: 0.92rem; color: var(--paper-dim); margin: 0; line-height: 1.6; }

.art-cta { margin-top: 50px; padding: 36px; background: linear-gradient(135deg, rgba(255,182,39,0.08), transparent); border: 1px solid rgba(255,182,39,0.2); border-radius: 14px; text-align: center; }
.art-cta h3 { font-size: 1.5rem; font-weight: 300; margin-bottom: 12px; }
.art-cta h3 em { font-style: italic; color: var(--amber); }
.art-cta p { color: var(--paper-dim); max-width: 460px; margin: 0 auto 24px; font-size: 0.95rem; }

.art-related { margin-top: 60px; }
.art-related h3 { font-size: 1.4rem; font-weight: 400; margin-bottom: 24px; }
.related-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }

.read-bar { position: fixed; top: 0; left: 0; height: 3px; background: var(--amber); z-index: 60; width: 0; transition: width 0.1s; }

@media (max-width: 1024px) {
  .blog-featured { grid-template-columns: 1fr; }
  .bf-visual { min-height: 240px; }
  .blog-grid { grid-template-columns: 1fr 1fr; }
  .art-layout { grid-template-columns: 1fr; gap: 30px; }
  .art-toc { position: static; display: none; }
  .art-content { max-width: 100%; }
}
@media (max-width: 700px) {
  .blog-grid { grid-template-columns: 1fr; }
  .related-grid { grid-template-columns: 1fr; }
  .stat-callout { grid-template-columns: 1fr; }
  .bf-body { padding: 30px; }
}

/* =========================================================
   MEDIA (media.html) — video YouTube facade
   ========================================================= */
.media-hero-channel { display: flex; align-items: center; gap: 24px; padding: 30px 34px; background: linear-gradient(135deg, rgba(255,182,39,0.08), rgba(255,90,95,0.03)); border: 1px solid rgba(255,182,39,0.2); border-radius: 14px; margin-bottom: 50px; flex-wrap: wrap; }
.mhc-ico { width: 64px; height: 64px; border-radius: 16px; background: #FF0000; display: flex; align-items: center; justify-content: center; flex-shrink: 0; box-shadow: 0 8px 24px rgba(255,0,0,0.25); }
.mhc-ico svg { width: 34px; height: 34px; }
.mhc-body { flex: 1; min-width: 240px; }
.mhc-body .mhc-label { font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); margin-bottom: 6px; }
.mhc-body h3 { font-size: 1.5rem; font-weight: 400; margin-bottom: 4px; }
.mhc-body p { font-size: 0.9rem; color: var(--paper-dim); margin: 0; }
.mhc-cta { flex-shrink: 0; }

/* Media filters */
.media-filters { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 36px; }
.mf-btn { padding: 10px 18px; border: 1px solid var(--line-strong); border-radius: 100px; font-family: var(--font-body); font-size: 0.84rem; color: var(--paper-dim); cursor: pointer; transition: all 0.3s var(--ease); background: transparent; }
.mf-btn:hover { border-color: var(--amber); color: var(--paper); }
.mf-btn.active { background: var(--amber); border-color: var(--amber); color: var(--ink); font-weight: 500; }

/* Video grid */
.video-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.video-card { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: var(--card); transition: all 0.4s var(--ease); }
.video-card:hover { border-color: var(--line-strong); transform: translateY(-4px); }

/* Facade — thumbnail + play button */
.video-facade { position: relative; aspect-ratio: 16/9; cursor: pointer; overflow: hidden; background: var(--ink-3); }
.video-facade img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s var(--ease); display: block; }
.video-card:hover .video-facade img { transform: scale(1.05); }
.video-facade::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(10,12,16,0) 40%, rgba(10,12,16,0.5) 100%); pointer-events: none; }
.video-play { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 68px; height: 68px; border-radius: 50%; background: rgba(255,0,0,0.92); display: flex; align-items: center; justify-content: center; z-index: 2; transition: all 0.35s var(--ease); box-shadow: 0 8px 30px rgba(0,0,0,0.4); }
.video-facade:hover .video-play { transform: translate(-50%,-50%) scale(1.12); background: #FF0000; }
.video-play svg { width: 26px; height: 26px; margin-left: 3px; }
.video-badge { position: absolute; top: 14px; left: 14px; z-index: 2; font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 5px 11px; border-radius: 100px; background: rgba(10,12,16,0.8); backdrop-filter: blur(6px); border: 1px solid var(--line-strong); color: var(--paper); }
.video-facade.loaded { cursor: default; }
.video-facade iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 3; }

/* Thumbnail fallback (dacă imaginea nu încarcă) */
.video-facade .thumb-fallback { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 3rem; background: linear-gradient(140deg, var(--ink-3), var(--ink-2)); }

.video-info { padding: 22px 24px; }
.video-cat { font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--amber); margin-bottom: 10px; }
.video-info h3 { font-size: 1.2rem; font-weight: 400; line-height: 1.3; letter-spacing: -0.01em; }

@media (max-width: 768px) {
  .video-grid { grid-template-columns: 1fr; }
  .media-hero-channel { padding: 24px; }
}

/* =========================================================
   PARTENERI (parteneri.html) — categorii
   ========================================================= */
.partner-cat { margin-bottom: 56px; scroll-margin-top: 120px; }
.pcat-head { display: flex; align-items: baseline; gap: 16px; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.pcat-num { font-family: var(--font-mono); font-size: 0.72rem; color: var(--amber); letter-spacing: 0.15em; }
.pcat-head h2 { font-size: clamp(1.6rem, 3.2vw, 2.4rem); font-weight: 300; letter-spacing: -0.02em; }
.pcat-head h2 em { font-style: italic; color: var(--amber); }
.pcat-head .pcat-desc { font-size: 0.9rem; color: var(--paper-dim); margin-left: auto; max-width: 380px; line-height: 1.5; }

/* Featured tech partner (RoIntelliA) */
.tech-partner { display: grid; grid-template-columns: 1.3fr 1fr; gap: 0; border: 1px solid rgba(255,182,39,0.25); border-radius: 16px; overflow: hidden; background: linear-gradient(135deg, rgba(255,182,39,0.07), rgba(255,182,39,0.01)); }
.tp-body { padding: 44px; display: flex; flex-direction: column; justify-content: center; }
.tp-badge { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--amber); padding: 6px 14px; border: 1px solid rgba(255,182,39,0.3); border-radius: 100px; margin-bottom: 20px; }
.tp-body h3 { font-size: clamp(1.8rem, 3.5vw, 2.6rem); font-weight: 400; letter-spacing: -0.02em; margin-bottom: 8px; }
.tp-body h3 .rtm { color: var(--amber); font-style: italic; }
.tp-role { font-family: var(--font-mono); font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--paper-dim); margin-bottom: 20px; }
.tp-body p { color: var(--paper-dim); font-size: 0.96rem; line-height: 1.7; margin-bottom: 24px; max-width: 460px; }
.tp-services { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.tp-services span { font-size: 0.78rem; padding: 7px 14px; background: var(--card); border: 1px solid var(--line); border-radius: 100px; color: var(--paper-dim); }
.tp-visual { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; background: linear-gradient(160deg, var(--ink-2), var(--ink-3)); min-height: 300px; }
.tp-visual svg { width: 78%; height: auto; }

/* Partner cards grid */
.partner-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.partner-card { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 30px 26px; transition: all 0.35s var(--ease); display: flex; flex-direction: column; gap: 14px; }
.partner-card:hover { border-color: var(--line-strong); transform: translateY(-4px); background: rgba(255,182,39,0.03); }
.partner-card .pc-logo { width: 56px; height: 56px; border-radius: 12px; background: var(--ink-3); display: flex; align-items: center; justify-content: center; font-size: 1.6rem; flex-shrink: 0; }
.partner-card h4 { font-size: 1.15rem; font-weight: 500; }
.partner-card p { font-size: 0.86rem; color: var(--paper-dim); line-height: 1.55; margin: 0; }
.partner-card .pc-tag { margin-top: auto; font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--amber); }

/* Placeholder "become partner" card */
.partner-card.ghost { border-style: dashed; align-items: center; justify-content: center; text-align: center; min-height: 200px; cursor: pointer; }
.partner-card.ghost:hover { border-color: var(--amber); }
.partner-card.ghost .pc-plus { font-size: 2rem; color: var(--amber); }
.partner-card.ghost p { font-size: 0.9rem; }

/* Benefits row per category */
.pcat-benefits { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }
.pcat-benefits span { font-size: 0.8rem; padding: 8px 16px; border: 1px solid var(--line); border-radius: 8px; color: var(--paper-dim); background: var(--card); }
.pcat-benefits span::before { content: '✓ '; color: var(--signal); }

@media (max-width: 900px) {
  .tech-partner { grid-template-columns: 1fr; }
  .tp-visual { min-height: 220px; order: -1; }
  .tp-body { padding: 32px; }
  .partner-grid { grid-template-columns: 1fr 1fr; }
  .pcat-head .pcat-desc { margin-left: 0; }
}
@media (max-width: 600px) {
  .partner-grid { grid-template-columns: 1fr; }
}

/* Dual domain buttons (RoIntelliA .ro / .com) */
.tp-domains { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-self: stretch; max-width: 460px; }
.tp-dom { display: flex; flex-direction: column; gap: 6px; padding: 18px 20px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--card); transition: all 0.35s var(--ease); position: relative; overflow: hidden; }
.tp-dom::after { content: '→'; position: absolute; top: 16px; right: 18px; font-family: var(--font-mono); color: var(--amber); opacity: 0; transform: translateX(-6px); transition: all 0.3s var(--ease); }
.tp-dom:hover { border-color: var(--amber); background: rgba(255,182,39,0.06); transform: translateY(-3px); }
.tp-dom:hover::after { opacity: 1; transform: translateX(0); }
.tp-dom .tpd-flag { font-size: 1.1rem; margin-bottom: 2px; }
.tp-dom .tpd-url { font-family: var(--font-display); font-size: 1.15rem; font-weight: 500; letter-spacing: -0.01em; }
.tp-dom .tpd-url b { color: var(--amber); font-weight: 500; }
.tp-dom .tpd-desc { font-size: 0.76rem; color: var(--paper-dim); line-height: 1.4; }
@media (max-width: 520px) { .tp-domains { grid-template-columns: 1fr; } }

/* Credit RoIntelliA în footer */
.foot-credit { color: var(--amber); text-decoration: none; transition: opacity 0.25s; }
.foot-credit:hover { opacity: 0.7; }

/* Featured partner card (dezvoltat) */
.partner-featured { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr auto; gap: 30px; align-items: center; background: linear-gradient(135deg, rgba(123,143,255,0.06), rgba(255,182,39,0.02)); border: 1px solid var(--line-strong); border-radius: 14px; padding: 32px 36px; transition: all 0.4s var(--ease); text-decoration: none; }
.partner-featured:hover { border-color: rgba(123,143,255,0.4); transform: translateY(-3px); }
.pf-logo { width: 88px; height: 88px; border-radius: 18px; background: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; padding: 12px; }
.pf-logo img { width: 100%; height: 100%; object-fit: contain; }
.pf-main { min-width: 0; }
.pf-badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.pf-badges span { font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 10px; border-radius: 100px; }
.pf-b1 { background: rgba(123,143,255,0.12); color: var(--accent3); border: 1px solid rgba(123,143,255,0.3); }
.pf-b2 { background: rgba(74,222,128,0.1); color: var(--signal); border: 1px solid rgba(74,222,128,0.28); }
.pf-main h4 { font-size: 1.4rem; font-weight: 500; margin-bottom: 8px; letter-spacing: -0.01em; }
.pf-main p { font-size: 0.9rem; color: var(--paper-dim); line-height: 1.6; margin: 0 0 14px; max-width: 620px; }
.pf-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.pf-tags span { font-size: 0.74rem; padding: 5px 12px; background: var(--card); border: 1px solid var(--line); border-radius: 6px; color: var(--paper-dim); }
.pf-cta { display: flex; flex-direction: column; align-items: center; gap: 10px; flex-shrink: 0; }
.pf-visit { display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; background: var(--accent3); color: var(--ink); border-radius: 100px; font-size: 0.85rem; font-weight: 600; white-space: nowrap; transition: all 0.3s; }
.partner-featured:hover .pf-visit { transform: scale(1.04); }
.pf-socials { display: flex; gap: 8px; }
.pf-socials a { width: 32px; height: 32px; border-radius: 8px; background: var(--card); border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; color: var(--paper-dim); font-size: 0.8rem; transition: all 0.25s; }
.pf-socials a:hover { border-color: var(--accent3); color: var(--accent3); }
@media (max-width: 860px) { .partner-featured { grid-template-columns: 1fr; text-align: center; } .pf-logo { margin: 0 auto; } .pf-badges, .pf-tags { justify-content: center; } .pf-main p { margin-left: auto; margin-right: auto; } }

/* =========================================================
   RESURSE UTILE (resurse-utile.html)
   ========================================================= */
.res-emergency { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 30px 0; }
.res-em-card { display: flex; align-items: center; gap: 18px; padding: 24px 26px; background: rgba(255,90,95,0.06); border: 1px solid rgba(255,90,95,0.25); border-radius: 12px; }
.res-em-card .rem-num { font-family: var(--font-display); font-size: 2.2rem; font-weight: 600; color: var(--alert); line-height: 1; flex-shrink: 0; }
.res-em-card .rem-info h4 { font-size: 1rem; font-weight: 500; margin-bottom: 4px; }
.res-em-card .rem-info p { font-size: 0.84rem; color: var(--paper-dim); margin: 0; line-height: 1.45; }
.res-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin: 24px 0; }
.res-card { padding: 26px; background: var(--card); border: 1px solid var(--line); border-radius: 12px; transition: all 0.35s var(--ease); }
.res-card:hover { border-color: var(--line-strong); transform: translateY(-3px); }
.res-card h4 { font-size: 1.15rem; font-weight: 500; margin-bottom: 8px; }
.res-card .rc-org { font-family: var(--font-mono); font-size: 0.64rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--amber); margin-bottom: 12px; }
.res-card p { font-size: 0.88rem; color: var(--paper-dim); line-height: 1.6; margin-bottom: 14px; }
.res-card .rc-links { display: flex; flex-direction: column; gap: 6px; }
.res-card .rc-links a { font-size: 0.86rem; color: var(--paper); text-decoration: none; display: inline-flex; align-items: center; gap: 8px; transition: color 0.25s; }
.res-card .rc-links a:hover { color: var(--amber); }
.res-card .rc-links a::before { content: '→'; color: var(--amber); font-family: var(--font-mono); }
@media (max-width: 700px) { .res-emergency, .res-grid { grid-template-columns: 1fr; } }

/* Footer extins cu zona legal (5 coloane) */
.foot-top.foot-5 { grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr; }
@media (max-width: 900px) { .foot-top.foot-5 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .foot-top.foot-5 { grid-template-columns: 1fr; } }

/* =========================================================
   Butoane urgențe/autorități în footer
   ========================================================= */
.foot-help { display: flex; gap: 12px; margin-top: 20px; flex-wrap: wrap; }
.foot-help a { display: inline-flex; align-items: center; gap: 9px; padding: 11px 18px; border-radius: 100px; font-family: var(--font-body); font-size: 0.82rem; font-weight: 500; text-decoration: none; transition: all 0.3s var(--ease); }
.foot-help .fh-urgent { background: rgba(255,90,95,0.12); border: 1px solid var(--alert); color: #ff8286; position: relative; }
.foot-help .fh-urgent::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: var(--alert); flex-shrink: 0; animation: fh-pulse 1.6s ease-in-out infinite; }
.foot-help .fh-urgent:hover { background: var(--alert); color: #fff; transform: translateY(-2px); }
.foot-help .fh-urgent:hover::before { background: #fff; }
@keyframes fh-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(255,90,95,0.6); opacity: 1; } 50% { box-shadow: 0 0 0 6px rgba(255,90,95,0); opacity: 0.7; } }
.foot-help .fh-auth { background: rgba(255,182,39,0.08); border: 1px solid rgba(255,182,39,0.35); color: var(--amber); }
.foot-help .fh-auth:hover { background: rgba(255,182,39,0.16); border-color: var(--amber); transform: translateY(-2px); }
.foot-help svg { width: 15px; height: 15px; flex-shrink: 0; }
@media (prefers-reduced-motion: reduce) { .foot-help .fh-urgent::before { animation: none; } }

/* Buton apel în card partener (linie urgență) */
.pf-call { display: inline-flex; align-items: center; gap: 9px; padding: 12px 22px; background: var(--alert); color: #fff; border-radius: 100px; font-family: var(--font-body); font-size: 0.9rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: all 0.3s var(--ease); position: relative; }
.pf-call::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: #fff; flex-shrink: 0; animation: fh-pulse 1.6s ease-in-out infinite; }
.pf-call:hover { transform: translateY(-2px) scale(1.03); box-shadow: 0 8px 24px rgba(255,90,95,0.35); }
.pf-call svg { width: 16px; height: 16px; }
.pf-site { display: inline-flex; align-items: center; gap: 6px; font-size: 0.82rem; color: var(--paper-dim); text-decoration: none; transition: color 0.25s; margin-top: 4px; }
.pf-site:hover { color: var(--amber); }
@media (prefers-reduced-motion: reduce) { .pf-call::before { animation: none; } }

/* Galerie imagini în studiu de caz (capturi reale) */
.case-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; margin: 8px 0 4px; }
.case-shot { border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: var(--ink-3); cursor: zoom-in; transition: all 0.3s var(--ease); }
.case-shot:hover { border-color: var(--amber); transform: translateY(-3px); }
.case-shot img { width: 100%; height: 260px; object-fit: cover; object-position: top; display: block; }
.case-shot .cs-cap { padding: 10px 12px; font-size: 0.76rem; color: var(--paper-dim); line-height: 1.4; border-top: 1px solid var(--line); }
/* Lightbox */
.cs-lightbox { position: fixed; inset: 0; background: rgba(6,7,10,0.94); z-index: 10000; display: none; align-items: center; justify-content: center; padding: 30px; cursor: zoom-out; }
.cs-lightbox.open { display: flex; }
.cs-lightbox img { max-width: 92%; max-height: 92%; border-radius: 10px; box-shadow: 0 20px 60px rgba(0,0,0,0.6); }
.cs-lightbox .cs-close { position: absolute; top: 24px; right: 30px; font-size: 2rem; color: var(--paper); background: none; border: none; cursor: pointer; line-height: 1; }
@media (max-width: 560px) { .case-shot img { height: 220px; } }

/* Vizual card blog — furt de identitate */
.pc-visual.v-identity { background: linear-gradient(140deg, rgba(255,182,39,0.14), rgba(123,143,255,0.1)); }

/* =========================================================
   Reconstituire SVG — lizibilitate pe mobil (scroll orizontal)
   Scroll pe containerul .recon (care există deja în HTML).
   ========================================================= */
@media (max-width: 640px) {
  /* Containerul devine derulabil orizontal */
  .recon {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding: 24px 0 16px;
    scrollbar-width: thin;
  }
  /* Titlul și butonul rămân aliniați cu marginea, nu se lățesc */
  .recon-label, .recon-title, .recon-play-wrap {
    padding-left: 24px;
    padding-right: 24px;
  }
  /* SVG-ul își păstrează lățimea reală — declanșează scroll pe .recon */
  .recon-svg {
    width: 640px;
    max-width: none;
    height: auto;
    margin: 0 24px;
  }
  /* Indiciu că se poate derula */
  .recon-hint {
    display: block;
    text-align: center;
    font-family: var(--font-mono);
    font-size: 0.62rem;
    letter-spacing: 0.1em;
    color: var(--paper-dim);
    opacity: 0.6;
    padding: 8px 24px 0;
  }
}
@media (min-width: 641px) {
  .recon-hint { display: none; }
}

/* =========================================================
   Studiu de caz — analiză pas cu pas (imagini în linie)
   Layout forensic modern: pas numerotat + text + captură
   ========================================================= */
.forensic { margin: 10px 0 4px; }
.fstep { display: grid; grid-template-columns: 1fr 300px; gap: 28px; align-items: center; padding: 30px 0; border-bottom: 1px solid var(--line); position: relative; }
.fstep:last-child { border-bottom: none; }
.fstep.reverse { grid-template-columns: 300px 1fr; }
.fstep.reverse .fs-text { order: 2; }
.fstep.reverse .fs-visual { order: 1; }
.fs-text { min-width: 0; }
.fs-num { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: 0.7rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); margin-bottom: 12px; }
.fs-num b { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; border: 1px solid rgba(255,182,39,0.4); color: var(--amber); font-size: 0.85rem; font-weight: 700; }
.fs-text h4 { font-size: 1.25rem; font-weight: 500; margin-bottom: 10px; letter-spacing: -0.01em; line-height: 1.3; }
.fs-text p { color: var(--paper-dim); line-height: 1.7; font-size: 0.94rem; margin: 0; }
.fs-text .fs-danger { display: inline-flex; align-items: center; gap: 7px; margin-top: 12px; padding: 7px 14px; border-radius: 8px; background: rgba(255,90,95,0.08); border: 1px solid rgba(255,90,95,0.25); color: #ff8286; font-size: 0.82rem; }
.fs-visual { position: relative; }
.fs-visual img { width: 100%; border-radius: 12px; border: 1px solid var(--line-strong); display: block; cursor: zoom-in; transition: all 0.35s var(--ease); background: var(--ink-3); }
.fs-visual img:hover { border-color: var(--amber); transform: scale(1.02); }
.fs-visual .fsv-tag { position: absolute; top: 12px; left: 12px; font-family: var(--font-mono); font-size: 0.58rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 5px 10px; border-radius: 100px; background: rgba(10,12,16,0.82); backdrop-filter: blur(6px); border: 1px solid var(--line-strong); color: var(--paper); }
.fs-visual .fsv-cap { margin-top: 10px; font-size: 0.76rem; color: var(--paper-dim); line-height: 1.45; font-style: italic; text-align: center; }

/* Conector vertical între pași */
.fstep::before { content: ''; position: absolute; left: 15px; bottom: -1px; width: 1px; height: 0; background: linear-gradient(var(--amber), transparent); }

@media (max-width: 720px) {
  .fstep, .fstep.reverse { grid-template-columns: 1fr; gap: 16px; padding: 24px 0; }
  .fstep.reverse .fs-text { order: 1; }
  .fstep.reverse .fs-visual { order: 2; }
  .fs-visual { max-width: 340px; margin: 0 auto; }
  .fs-text h4 { font-size: 1.15rem; }
}

/* Intro studiu de caz */
.case-intro { margin-bottom: 10px; }
.case-intro p { color: var(--paper-dim); line-height: 1.75; font-size: 1rem; }

/* =========================================================
   DICȚIONAR PreveHub (dictionar.html)
   ========================================================= */
.dict-search-wrap { position: sticky; top: 72px; z-index: 20; background: linear-gradient(180deg, var(--ink) 70%, transparent); padding: 20px 0 16px; margin-bottom: 10px; }
.dict-search { position: relative; max-width: 560px; }
.dict-search input { width: 100%; padding: 16px 20px 16px 52px; background: var(--ink-2); border: 1px solid var(--line-strong); border-radius: 100px; color: var(--paper); font-family: var(--font-body); font-size: 1rem; transition: all 0.3s var(--ease); }
.dict-search input:focus { outline: none; border-color: var(--amber); background: var(--ink-3); }
.dict-search input::placeholder { color: var(--paper-dim); }
.dict-search .ds-ico { position: absolute; left: 20px; top: 50%; transform: translateY(-50%); font-size: 1.1rem; opacity: 0.7; }

/* Alfabet filtru */
.dict-alpha { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 30px; }
.da-btn { min-width: 34px; height: 34px; padding: 0 8px; border: 1px solid var(--line); border-radius: 8px; background: transparent; color: var(--paper-dim); font-family: var(--font-mono); font-size: 0.8rem; cursor: pointer; transition: all 0.25s var(--ease); }
.da-btn:hover { border-color: var(--amber); color: var(--paper); }
.da-btn.active { background: var(--amber); border-color: var(--amber); color: var(--ink); font-weight: 700; }
.da-btn:disabled { opacity: 0.25; cursor: not-allowed; }

/* Categorii rapide */
.dict-cats { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; }
.dc-btn { padding: 8px 16px; border: 1px solid var(--line-strong); border-radius: 100px; background: transparent; color: var(--paper-dim); font-size: 0.82rem; cursor: pointer; transition: all 0.25s var(--ease); }
.dc-btn:hover { border-color: var(--amber); color: var(--paper); }
.dc-btn.active { background: rgba(255,182,39,0.12); border-color: var(--amber); color: var(--amber); }

/* Grid termeni */
.dict-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }
.term-card { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 24px 26px; transition: all 0.35s var(--ease); position: relative; overflow: hidden; }
.term-card::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--amber); transform: scaleY(0); transform-origin: top; transition: transform 0.35s var(--ease); }
.term-card:hover { border-color: var(--line-strong); transform: translateY(-3px); }
.term-card:hover::before { transform: scaleY(1); }
.term-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.term-ico { font-size: 1.5rem; flex-shrink: 0; }
.term-word { font-family: var(--font-display); font-size: 1.3rem; font-weight: 500; color: var(--paper); letter-spacing: -0.01em; }
.term-word .tw-alt { display: block; font-family: var(--font-mono); font-size: 0.68rem; color: var(--paper-dim); letter-spacing: 0.05em; margin-top: 2px; text-transform: none; }
.term-def { color: var(--paper-dim); line-height: 1.65; font-size: 0.92rem; margin: 0; }
.term-def strong { color: var(--paper); }
.term-cat-tag { display: inline-block; margin-top: 14px; font-family: var(--font-mono); font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--amber); padding: 4px 10px; border: 1px solid rgba(255,182,39,0.25); border-radius: 100px; }

/* Empty state dictionar */
.dict-empty { text-align: center; padding: 60px 20px; display: none; }
.dict-empty .de-i { font-size: 3rem; margin-bottom: 16px; opacity: 0.6; }
.dict-empty h3 { font-size: 1.4rem; font-weight: 400; margin-bottom: 8px; }
.dict-empty h3 em { font-style: italic; color: var(--amber); }
.dict-empty p { color: var(--paper-dim); }

.dict-count { font-family: var(--font-mono); font-size: 0.72rem; color: var(--paper-dim); letter-spacing: 0.05em; margin-bottom: 18px; }

@media (max-width: 560px) {
  .dict-grid { grid-template-columns: 1fr; }
  .dict-search-wrap { top: 64px; }
}

/* =========================================================
   BUTON DICȚIONAR (de pus în pagini)
   ========================================================= */
.dict-fab { position: fixed; bottom: 22px; right: 22px; z-index: 90; display: inline-flex; align-items: center; gap: 10px; padding: 13px 20px 13px 16px; background: var(--ink-2); border: 1px solid var(--amber); border-radius: 100px; color: var(--paper); font-family: var(--font-body); font-size: 0.88rem; font-weight: 500; text-decoration: none; box-shadow: 0 8px 30px rgba(0,0,0,0.35); transition: all 0.35s var(--ease); overflow: hidden; }
.dict-fab .dfab-ico { font-size: 1.2rem; flex-shrink: 0; animation: dfab-bob 2.4s ease-in-out infinite; }
.dict-fab .dfab-text { white-space: nowrap; }
.dict-fab .dfab-text b { color: var(--amber); }
.dict-fab:hover { background: var(--amber); border-color: var(--amber); color: var(--ink); transform: translateY(-3px); box-shadow: 0 12px 36px rgba(255,182,39,0.3); }
.dict-fab:hover .dfab-text b { color: var(--ink); }
.dict-fab::after { content: ''; position: absolute; inset: 0; border-radius: 100px; border: 1px solid var(--amber); opacity: 0; animation: dfab-ring 3s ease-out infinite; }
@keyframes dfab-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes dfab-ring { 0% { transform: scale(1); opacity: 0.5; } 100% { transform: scale(1.4); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .dict-fab .dfab-ico { animation: none; } .dict-fab::after { animation: none; } }
@media (max-width: 560px) {
  .dict-fab { bottom: 16px; right: 16px; padding: 12px; }
  .dict-fab .dfab-text { display: none; }
  .dict-fab .dfab-ico { animation: dfab-bob 2.4s ease-in-out infinite; }
}

/* Citat sursă oficială (report quote) */
.report-quote { position: relative; margin: 40px 0; padding: 36px 40px; background: linear-gradient(135deg, rgba(255,182,39,0.06), rgba(123,143,255,0.03)); border: 1px solid var(--line-strong); border-radius: 14px; overflow: hidden; }
.report-quote::before { content: '\201C'; position: absolute; top: -10px; left: 20px; font-family: var(--font-display); font-size: 6rem; color: var(--amber); opacity: 0.25; line-height: 1; }
.report-quote-text { font-family: var(--font-display); font-style: italic; font-size: clamp(1.1rem, 2.2vw, 1.35rem); font-weight: 300; line-height: 1.55; color: var(--paper); margin: 0 0 22px; position: relative; z-index: 1; padding-left: 18px; }
.report-quote-source { display: flex; align-items: center; gap: 14px; padding-left: 18px; }
.rqs-mark { width: 42px; height: 42px; border-radius: 10px; background: var(--ink-3); border: 1px solid var(--line-strong); display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0; }
.rqs-info { display: flex; flex-direction: column; gap: 2px; }
.rqs-name { font-family: var(--font-body); font-size: 0.92rem; font-weight: 600; color: var(--paper); }
.rqs-desc { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--paper-dim); }
@media (max-width: 560px) { .report-quote { padding: 28px 24px; } }

/* Animație de intrare a butonului Dicționar la încărcarea paginii */
.dict-fab {
  animation: dfab-enter 0.9s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@keyframes dfab-enter {
  0% { opacity: 0; transform: translateX(80px) scale(0.9); }
  60% { opacity: 1; transform: translateX(-6px) scale(1.02); }
  100% { opacity: 1; transform: translateX(0) scale(1); }
}
/* Un puls de atenție scurt, după ce a intrat */
.dict-fab .dfab-ico { animation: dfab-bob 2.4s ease-in-out infinite, dfab-attention 0.6s ease-out 1s 1; }
@keyframes dfab-attention {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.3) rotate(-8deg); }
}
@media (prefers-reduced-motion: reduce) {
  .dict-fab { animation: none; opacity: 1; transform: none; }
  .dict-fab .dfab-ico { animation: none; }
}

/* Buton reset dicționar */
.dict-reset { display: none; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 100px; background: rgba(74,222,128,0.12); border: 1px solid var(--signal); color: var(--signal); font-family: var(--font-body); font-size: 0.82rem; font-weight: 500; cursor: pointer; transition: all 0.25s var(--ease); }
.dict-reset.show { display: inline-flex; }
.dict-reset:hover { background: var(--signal); color: var(--ink); transform: translateY(-2px); }
.dict-reset .dr-ico { font-size: 0.95rem; transition: transform 0.4s var(--ease); }
.dict-reset:hover .dr-ico { transform: rotate(-180deg); }

/* Card partener cu watermark (parteneriat special — Telefonul Copilului) */
.partner-featured.pf-special { position: relative; overflow: hidden; }
.partner-featured.pf-special .pf-watermark { position: absolute; right: -40px; bottom: -30px; width: 300px; max-width: 45%; opacity: 0.06; pointer-events: none; z-index: 0; filter: grayscale(0.15); transition: opacity 0.4s var(--ease); }
.partner-featured.pf-special:hover .pf-watermark { opacity: 0.12; }
.partner-featured.pf-special > * { position: relative; z-index: 1; }
.partner-featured.pf-special .pf-logo { background: #fff; padding: 8px; }
.partner-featured.pf-special .pf-logo img { object-fit: contain; }
@media (max-width: 860px) {
  .partner-featured.pf-special .pf-watermark { width: 240px; opacity: 0.06; right: -20px; }
}

/* Tab "Alte domenii în curând" împins la dreapta */
.domain-tab.dt-soon { margin-left: auto; border-style: dashed; cursor: default; opacity: 0.6; }
@media (max-width: 860px) { .domain-tab.dt-soon { margin-left: 0; } }

/* Logo: Hub în galben */
.logo .hub { color: var(--amber); }

/* =========================================================
   Butoane social media în footer
   ========================================================= */
.foot-social { display: flex; gap: 10px; margin-top: 18px; }
.foot-social a { width: 40px; height: 40px; border-radius: 10px; background: var(--ink-3); border: 1px solid var(--line-strong); display: flex; align-items: center; justify-content: center; color: var(--paper-dim); transition: all 0.3s var(--ease); }
.foot-social a svg { width: 19px; height: 19px; }
.foot-social a:hover { transform: translateY(-3px); color: #fff; }
.foot-social a.s-facebook:hover { background: #1877F2; border-color: #1877F2; }
.foot-social a.s-instagram:hover { background: linear-gradient(45deg, #F58529, #DD2A7B, #8134AF); border-color: #DD2A7B; }
.foot-social a.s-linkedin:hover { background: #0A66C2; border-color: #0A66C2; }
/* Buton fără link (placeholder până adaugi URL-ul) */
.foot-social a.s-empty { opacity: 0.4; cursor: default; }
.foot-social a.s-empty:hover { transform: none; background: var(--ink-3); border-color: var(--line-strong); color: var(--paper-dim); }

/* =========================================================
   Secțiune „Urmărește-ne" (follow) — Homepage, Media, Contact
   ========================================================= */
.follow-section { position: relative; border: 1px solid var(--line-strong); border-radius: 20px; padding: 50px 44px; background: linear-gradient(135deg, rgba(255,182,39,0.05), rgba(123,143,255,0.03)); overflow: hidden; }
.follow-section::before { content: ''; position: absolute; top: -60px; right: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(255,182,39,0.12), transparent 70%); pointer-events: none; }
.follow-head { text-align: center; max-width: 560px; margin: 0 auto 34px; position: relative; z-index: 1; }
.follow-head .fh-eyebrow { font-family: var(--font-mono); font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--amber); margin-bottom: 12px; }
.follow-head h2 { font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 300; letter-spacing: -0.02em; margin-bottom: 14px; }
.follow-head h2 em { font-style: italic; color: var(--amber); }
.follow-head p { color: var(--paper-dim); font-size: 1rem; line-height: 1.6; margin: 0; }
.follow-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; max-width: 720px; margin: 0 auto; position: relative; z-index: 1; }
.follow-card { display: flex; align-items: center; gap: 14px; padding: 20px 22px; border-radius: 14px; background: var(--ink-2); border: 1px solid var(--line); text-decoration: none; transition: all 0.35s var(--ease); }
.follow-card:hover { transform: translateY(-4px); border-color: transparent; }
.follow-card .fc-ico { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all 0.35s var(--ease); }
.follow-card .fc-ico svg { width: 24px; height: 24px; color: #fff; }
.follow-card .fc-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.follow-card .fc-net { font-size: 1.02rem; font-weight: 600; color: var(--paper); }
.follow-card .fc-cta { font-size: 0.8rem; color: var(--paper-dim); transition: color 0.3s; }
/* culori brand pe iconițe */
.fc-facebook .fc-ico { background: #1877F2; }
.fc-instagram .fc-ico { background: linear-gradient(45deg, #F58529, #DD2A7B, #8134AF); }
.fc-linkedin .fc-ico { background: #0A66C2; }
.fc-youtube .fc-ico { background: #FF0000; }
/* hover: cardul preia culoarea rețelei */
.follow-card.fc-facebook:hover { background: rgba(24,119,242,0.12); border-color: #1877F2; }
.follow-card.fc-instagram:hover { background: rgba(221,42,123,0.1); border-color: #DD2A7B; }
.follow-card.fc-linkedin:hover { background: rgba(10,102,194,0.12); border-color: #0A66C2; }
.follow-card.fc-youtube:hover { background: rgba(255,0,0,0.1); border-color: #FF0000; }
.follow-card:hover .fc-cta { color: var(--paper); }
.follow-card .fc-arrow { margin-left: auto; color: var(--paper-dim); transition: all 0.3s var(--ease); flex-shrink: 0; }
.follow-card:hover .fc-arrow { color: var(--amber); transform: translateX(3px); }
@media (max-width: 560px) { .follow-section { padding: 36px 22px; } .follow-grid { grid-template-columns: 1fr; } }

/* Studiu de caz GHISEUL RO */
.fs-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.fs-pair figure{
  margin:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.fs-pair figure img{
  width:100%;
  height:auto;
  border-radius:12px;
  display:block;
}
.fs-pair figcaption{
  font-size:.78rem;
  color:var(--muted);
  text-align:center;
  line-height:1.35;
}
@media (max-width:560px){
  .fs-pair{grid-template-columns:1fr;}
}

.fs-pair--sms{
  grid-template-columns:1fr;
  max-width:420px;
  margin:0 auto;
  gap:20px;
}

.fsv-title{
  display:inline-block;
  margin:0 0 8px;
  padding:2px 9px;
  border-radius:999px;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.02em;
  background:rgba(123,143,255,0.12);
  color:var(--accent3);
  border:1px solid rgba(123,143,255,0.3);
  line-height:1.5;
}
/* ============================================================
   STUDIU DE RISC — TollRo (analiză predictivă)
   Clase noi, dedicate; nu afectează celelalte studii de caz.
   ============================================================ */

/* Banner „ipoteză / disclaimer” */
.risk-hypothesis{
  display:flex;gap:14px;align-items:flex-start;
  background:linear-gradient(135deg,rgba(123,143,255,0.10),rgba(123,143,255,0.03));
  border:1px solid rgba(123,143,255,0.28);
  border-radius:16px;padding:18px 20px;margin:0 0 18px;
}
.risk-hypothesis .rh-ic{font-size:1.5rem;line-height:1;flex-shrink:0;}
.risk-hypothesis p{margin:0;line-height:1.6;}
.risk-hypothesis strong{color:var(--accent3);}

.risk-disclaimer{
  display:flex;gap:12px;align-items:flex-start;
  background:rgba(255,90,95,0.07);
  border:1px solid rgba(255,90,95,0.28);
  border-left:3px solid var(--alert);
  border-radius:12px;padding:14px 16px;margin:0 0 26px;
}
.risk-disclaimer .rd-ic{font-size:1.1rem;flex-shrink:0;}
.risk-disclaimer p{margin:0;font-size:.9rem;line-height:1.55;color:var(--muted);}

/* Formula de taxare (ingredient „smart” de analiză) */
.risk-formula{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:10px;margin:0 0 26px;padding:16px;
  background:var(--ink-2,rgba(255,255,255,0.03));
  border:1px dashed rgba(255,255,255,0.14);border-radius:14px;
  font-family:var(--font-mono,monospace);
}
.risk-formula span{padding:6px 12px;border-radius:8px;background:rgba(255,182,39,0.12);color:var(--amber);font-weight:600;}
.risk-formula b{color:var(--muted);font-weight:400;}

/* ====== GRILA DE SCENARII ====== */
.risk-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;margin:8px 0 26px;
}
@media (max-width:720px){ .risk-grid{grid-template-columns:1fr;} }

.risk-card{
  display:flex;flex-direction:column;
  background:var(--ink-2,rgba(255,255,255,0.03));
  border:1px solid var(--line,rgba(255,255,255,0.1));
  border-radius:18px;overflow:hidden;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.risk-card:hover{transform:translateY(-4px);border-color:rgba(123,143,255,0.4);box-shadow:0 14px 34px rgba(0,0,0,0.35);}

.risk-card-head{
  display:flex;align-items:center;gap:12px;
  padding:16px 18px 12px;
}
.risk-num{
  flex-shrink:0;width:34px;height:34px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:700;font-size:1.05rem;
  background:rgba(123,143,255,0.14);color:var(--accent3);
  border:1px solid rgba(123,143,255,0.3);
}
.risk-card-head h4{margin:0;font-size:1.05rem;line-height:1.25;flex:1;}

/* Badge nivel de risc */
.risk-level{
  align-self:flex-start;margin:0 18px 14px;
  display:inline-flex;align-items:center;gap:6px;
  padding:3px 11px;border-radius:999px;
  font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
}
.risk-level::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}
.risk-level.lv-simplu{background:rgba(74,222,128,0.12);color:#4ADE80;border:1px solid rgba(74,222,128,0.3);}
.risk-level.lv-clasic{background:rgba(255,182,39,0.12);color:var(--amber);border:1px solid rgba(255,182,39,0.3);}
.risk-level.lv-credibil{background:rgba(255,149,0,0.12);color:#FF9500;border:1px solid rgba(255,149,0,0.3);}
.risk-level.lv-periculos{background:rgba(255,90,95,0.12);color:var(--alert);border:1px solid rgba(255,90,95,0.32);}
.risk-level.lv-special{background:rgba(123,143,255,0.14);color:var(--accent3);border:1px solid rgba(123,143,255,0.32);}

/* Captura SMS în card */
.risk-shot{margin:0 18px 14px;}
.risk-shot .rs-tag{
  display:inline-block;margin:0 0 7px;padding:2px 9px;border-radius:999px;
  font-size:.66rem;font-weight:600;letter-spacing:.02em;
  background:rgba(123,143,255,0.12);color:var(--accent3);border:1px solid rgba(123,143,255,0.3);
}
.risk-shot img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line,rgba(255,255,255,0.08));}

/* Mesajul-tip (SMS redat ca text, pentru scenariile fără captură) */
.risk-msg{
  margin:0 18px 14px;padding:12px 14px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.1);
  border-left:3px solid var(--accent3);
  border-radius:10px;
  font-family:var(--font-mono,monospace);font-size:.82rem;line-height:1.5;color:var(--paper-dim,#cfd3dc);
}
.risk-msg .rm-link{color:var(--alert);word-break:break-all;}

.risk-card p.risk-note{margin:0 18px 16px;font-size:.9rem;line-height:1.55;color:var(--muted);}
.risk-card p.risk-note strong{color:var(--paper,#fff);}

/* ====== Casetă ținte / BEC ====== */
.risk-targets{
  margin:0 0 26px;padding:20px;border-radius:16px;
  background:rgba(255,90,95,0.05);border:1px solid rgba(255,90,95,0.22);
}
.risk-targets h4{margin:0 0 6px;}
.risk-targets .rt-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 14px;}
.risk-targets .rt-chips span{
  padding:6px 13px;border-radius:999px;font-size:.85rem;
  background:rgba(255,255,255,0.05);border:1px solid var(--line,rgba(255,255,255,0.12));
}

/* ====== Repere oficiale ====== */
.risk-official{
  display:flex;flex-wrap:wrap;gap:14px;margin:0 0 10px;
}
.risk-official .ro-item{
  flex:1;min-width:220px;display:flex;gap:12px;align-items:center;
  padding:14px 16px;border-radius:14px;
  background:rgba(74,222,128,0.07);border:1px solid rgba(74,222,128,0.26);
}
.risk-official .ro-ic{font-size:1.4rem;flex-shrink:0;}
.risk-official .ro-item b{color:#4ADE80;}
.risk-official .ro-item small{display:block;color:var(--muted);font-size:.82rem;margin-top:2px;}
/* Captura cu aplicațiile oficiale (App Store / Google Play) */
.risk-appshot{
  margin:14px 0 0;
  padding:14px;
  background:rgba(74,222,128,0.06);
  border:1px solid rgba(74,222,128,0.22);
  border-radius:14px;
}
.risk-appshot .rs-tag{
  display:inline-block;margin:0 0 8px;padding:2px 9px;border-radius:999px;
  font-size:.66rem;font-weight:600;letter-spacing:.02em;
  background:rgba(74,222,128,0.12);color:#4ADE80;border:1px solid rgba(74,222,128,0.3);
}
.risk-appshot img{
  display:block;width:100%;max-width:520px;height:auto;margin:0 auto;
  border-radius:12px;border:1px solid var(--line,rgba(255,255,255,0.08));
}
.risk-appshot-cap{
  margin-top:10px;font-size:.88rem;line-height:1.55;color:var(--muted);text-align:center;
}
.risk-appshot-cap b{color:var(--paper,#fff);}
.risk-note{
  position:relative;
  margin:0 18px 16px;
  padding:10px 14px 10px 16px;
  border-left:3px solid var(--alert);
  border-radius:0 10px 10px 0;
  background:rgba(255,90,95,0.06);
  font-size:.9rem;line-height:1.55;color:var(--muted);
}
.risk-note::before{
  content:"";
  position:absolute;left:-7px;top:16px;
  width:11px;height:11px;border-radius:50%;
  background:var(--alert);
  box-shadow:0 0 0 0 rgba(255,90,95,0.55);
  animation:risk-pulse 2.2s ease-out infinite;
}
.risk-note strong{color:var(--paper,#fff);}

@keyframes risk-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,90,95,0.55);}
  70%{box-shadow:0 0 0 10px rgba(255,90,95,0);}
  100%{box-shadow:0 0 0 0 rgba(255,90,95,0);}
}

/* Respectă utilizatorii care au cerut mișcare redusă */
@media (prefers-reduced-motion:reduce){
  .risk-note::before{animation:none;}
}
/* ============================================================
   SECȚIUNE COMUNICATE / ȘTIRI
   ============================================================ */
.news-head{max-width:760px;margin:0 0 32px;}
.news-head .nh-eyebrow{
  display:inline-block;margin:0 0 10px;font-family:var(--font-mono,monospace);
  font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--amber);
}
.news-head h2{margin:0 0 10px;}
.news-head p{margin:0;color:var(--muted);line-height:1.6;}

.news-list{display:flex;flex-direction:column;gap:14px;}

.news-item{
  border:1px solid var(--line,rgba(255,255,255,0.1));
  border-radius:16px;overflow:hidden;
  background:var(--ink-2,rgba(255,255,255,0.03));
  transition:border-color .25s ease,box-shadow .25s ease;
}
.news-item:hover{border-color:rgba(123,143,255,0.4);}
.news-item.open{border-color:rgba(123,143,255,0.5);box-shadow:0 10px 30px rgba(0,0,0,0.3);}

.news-head-btn{
  width:100%;display:flex;align-items:flex-start;gap:16px;
  padding:20px 22px;background:none;border:0;cursor:pointer;text-align:left;
  color:inherit;font:inherit;
}
.ni-main{flex:1;min-width:0;}
.ni-main h3{margin:6px 0 0;font-size:1.18rem;line-height:1.3;}

.ni-tag{
  display:inline-block;padding:3px 11px;border-radius:999px;
  font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
  background:rgba(123,143,255,0.14);color:var(--accent3);border:1px solid rgba(123,143,255,0.3);
}
.ni-tag-alert{background:rgba(255,90,95,0.12);color:var(--alert);border-color:rgba(255,90,95,0.3);}
.ni-tag-info{background:rgba(74,222,128,0.12);color:#4ADE80;border-color:rgba(74,222,128,0.3);}

/* Badge „NOU” (adăugat automat de JS pentru comunicate recente) */
.ni-new{
  display:inline-block;margin:6px 0 0;vertical-align:middle;
  padding:2px 9px;border-radius:999px;
  font-size:.64rem;font-weight:800;letter-spacing:.06em;
  background:var(--amber);color:#1a1205;
  box-shadow:0 0 0 0 rgba(255,182,39,0.5);
  animation:ni-new-pulse 2.4s ease-out infinite;
}
@keyframes ni-new-pulse{
  0%{box-shadow:0 0 0 0 rgba(255,182,39,0.5);}
  70%{box-shadow:0 0 0 8px rgba(255,182,39,0);}
  100%{box-shadow:0 0 0 0 rgba(255,182,39,0);}
}
@media (prefers-reduced-motion:reduce){ .ni-new{animation:none;} }

.ni-meta{margin-top:10px;}
.ni-date{
  font-family:var(--font-mono,monospace);font-size:.8rem;color:var(--muted);
  display:inline-flex;align-items:center;gap:6px;
}
.ni-date::before{content:"🕒";font-size:.85em;}

.ni-toggle{
  flex-shrink:0;font-size:1.5rem;line-height:1;color:var(--accent3);
  transition:transform .3s ease;margin-top:4px;
}
.news-item.open .ni-toggle{transform:rotate(180deg);}

/* Corpul care se desfășoară (animat pe grid-template-rows) */
.news-body{
  display:grid;grid-template-rows:0fr;
  transition:grid-template-rows .35s ease;
}
.news-item.open .news-body{grid-template-rows:1fr;}
.news-body-inner{
  overflow:hidden;
  padding:0 22px;
}
.news-item.open .news-body-inner{padding:0 22px 22px;}
.news-body-inner p{margin:0 0 12px;line-height:1.7;color:var(--paper-dim,#cfd3dc);}
.news-body-inner p:last-of-type{margin-bottom:0;}

.news-cta{
  display:inline-block;margin-top:14px;padding:9px 18px;border-radius:999px;
  font-size:.9rem;font-weight:600;text-decoration:none;
  background:rgba(123,143,255,0.14);color:var(--accent3);
  border:1px solid rgba(123,143,255,0.3);
  transition:background .2s ease,transform .2s ease;
}
.news-cta:hover{background:rgba(123,143,255,0.24);transform:translateX(3px);}

@media (max-width:560px){
  .news-head-btn{padding:16px 16px;gap:12px;}
  .ni-main h3{font-size:1.05rem;}
  .news-body-inner,.news-item.open .news-body-inner{padding-left:16px;padding-right:16px;}
}
