:root{
    --ink:#0B0E14;
    --ink-2:#141926;
    --paper:#F7F4EC;
    --paper-dim:#ECE7D9;
    --signal:#E0392C;
    --signal-dim:#a92c22;
    --steel:#4067a3;
    --text-soft:#565247;
    --white:#FFFFFF;
    --hair:rgba(11,14,20,0.12);
}

*{box-sizing:border-box;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'PT Serif', Georgia, serif;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4,.display-font{
  font-family:'Oswald', sans-serif;
  text-transform:uppercase;
  letter-spacing:.01em;
}

.mono{
  font-family:'JetBrains Mono', monospace;
}

a{ color:inherit; text-decoration:none; }

/* ===== Utility bar ===== */
.utility-bar{
  background:var(--ink);
  color:#9aa3b5;
  font-size:.78rem;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.utility-bar .stamp{
  color:#cfd5e2;
  letter-spacing:.04em;
}
.stamp .dot{
  display:inline-block;
  width:7px;height:7px;
  border-radius:50%;
  background:var(--signal);
  margin-right:6px;
  box-shadow:0 0 0 0 rgba(224,57,44,.6);
  animation:pulse 2s infinite;
}
@keyframes pulse{
  0%{ box-shadow:0 0 0 0 rgba(224,57,44,.55); }
  70%{ box-shadow:0 0 0 6px rgba(224,57,44,0); }
  100%{ box-shadow:0 0 0 0 rgba(224,57,44,0); }
}
.utility-bar .social a{
  color:#9aa3b5;
  margin-left:1rem;
  font-size:.85rem;
  transition:color .15s;
}
.utility-bar .social a:hover{ color:var(--signal); }

/* ===== Masthead ===== */
.masthead{
  background:var(--paper);
  padding:2.4rem 0 1.4rem;
  text-align:center;
  border-bottom:1px solid var(--hair);
}
.masthead .wordmark{
  font-size:clamp(2.6rem, 6vw, 4.6rem);
  font-weight:700;
  letter-spacing:.03em;
  line-height:1;
  margin:0;
}
.masthead .wordmark a{ color:inherit; }
.masthead .wordmark .accent{ color:var(--signal); }
.masthead .tagline{
  font-family:'PT Serif', serif;
  font-style:italic;
  color:var(--text-soft);
  font-size:1rem;
  margin-top:.5rem;
}

/* ===== Nav ===== */
.site-nav{
  background:var(--paper);
  border-bottom:2px solid var(--ink);
  position:sticky; top:0; z-index:50;
}
.site-nav .nav-link{
  font-family:'Oswald', sans-serif;
  text-transform:uppercase;
  font-size:.85rem;
  letter-spacing:.06em;
  font-weight:500;
  color:var(--ink);
  padding:.9rem .85rem !important;
  border-bottom:3px solid transparent;
  transition:border-color .15s, color .15s;
}
.site-nav .nav-link:hover{
  border-bottom-color:var(--signal);
  color:var(--signal-dim);
}
.site-nav .nav-link.active{
  border-bottom-color:var(--signal);
  color:var(--signal-dim);
}
.btn-signal{
    background:var(--signal);
    color:#fff;
    font-family:'Oswald', sans-serif;
    text-transform:uppercase;
    font-size:.82rem;
    letter-spacing:.06em;
    font-weight:600;
    padding:.55rem 1.3rem;
    border:none;
    transition:background .15s;
}
.btn-signal:hover{ background:var(--signal-dim); color:#fff; }

/* ===== Hero ===== */
.hero{
  background:var(--ink);
  color:var(--white);
  padding:3.4rem 0;
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:radial-gradient(ellipse at 70% 30%, black 10%, transparent 70%);
  pointer-events:none;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  background:var(--signal);
  color:#fff;
  font-family:'Oswald', sans-serif;
  text-transform:uppercase;
  font-size:.75rem;
  letter-spacing:.08em;
  font-weight:600;
  padding:.32rem .8rem;
  margin-bottom:1.2rem;
}
.hero h2{
  font-size:clamp(1.9rem, 4vw, 3.1rem);
  font-weight:700;
  line-height:1.08;
  max-width:16ch;
}
.hero p.lede{
  font-family:'PT Serif', serif;
  font-size:1.15rem;
  color:#c7cbd6;
  max-width:52ch;
  margin-top:1rem;
}
.hero .stamp{
  color:#8890a1;
  font-size:.8rem;
  margin-top:1.6rem;
}
.hero-read{
  color:var(--white);
  border-bottom:2px solid var(--signal);
  font-family:'Oswald',sans-serif;
  text-transform:uppercase;
  font-size:.82rem;
  letter-spacing:.05em;
  padding-bottom:2px;
  display:inline-block;
  margin-top:1.4rem;
}


/* ===== Section headers ===== */
.section-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  border-bottom:2px solid var(--ink);
  margin-bottom:1.6rem;
  padding-bottom:.5rem;
}
.section-head h3{
  font-size:1.4rem;
  font-weight:700;
  margin:0;
}
.section-head .see-all{
  font-family:'Oswald',sans-serif;
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--steel);
}
.section-head .see-all:hover{ color:var(--signal-dim); }

/* ===== Cards ===== */
.dispatch-card{
  background:var(--white);
  border:1px solid var(--hair);
  height:100%;
  display:flex;
  flex-direction:column;
  transition:transform .15s, box-shadow .15s;
}
.dispatch-card:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(11,14,20,.08);
}
.card-media{
  aspect-ratio:16/10;
  background:linear-gradient(135deg, var(--ink) 0%, var(--ink-2) 60%, var(--steel) 130%);
  position:relative;
  overflow:hidden;
}
.card-media::after{
  content:"";
  position:absolute; inset:0;
  background-image:radial-gradient(circle at 30% 30%, rgba(255,255,255,.12), transparent 55%);
}
.card-media .tag{
  position:absolute;
  bottom:.6rem; left:.6rem;
  background:var(--signal);
  color:#fff;
  font-family:'Oswald',sans-serif;
  text-transform:uppercase;
  font-size:.68rem;
  letter-spacing:.06em;
  font-weight:600;
  padding:.25rem .55rem;
}
.card-body-x{ padding:1.1rem 1.2rem 1.3rem; flex-grow:1; display:flex; flex-direction:column;}
.card-body-x h4{
  font-family:'PT Serif', serif;
  text-transform:none;
  font-weight:700;
  font-size:1.12rem;
  letter-spacing:0;
  line-height:1.3;
  margin-bottom:.5rem;
}
.card-body-x p{
  color:var(--text-soft);
  font-size:.92rem;
  margin-bottom:0;
}
.card-stamp{
  margin-top:1rem;
  padding-top:.7rem;
  border-top:1px dashed var(--hair);
  font-size:.74rem;
  color:#8a8579;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

/* ===== Articles list (ΑΡΘΡΑ) ===== */
.article-row{
  display:flex;
  gap:1.1rem;
  padding:1.1rem 0;
  border-bottom:1px solid var(--hair);
}
.article-row:first-child{ padding-top:0; }
.article-num{
  font-family:'JetBrains Mono', monospace;
  color:var(--signal);
  font-size:.85rem;
  min-width:2.2rem;
}
.article-row h4{
  font-family:'PT Serif', serif;
  font-weight:700;
  font-size:1.15rem;
  margin-bottom:.35rem;
}
.article-row .byline{
  font-family:'Oswald', sans-serif;
  text-transform:uppercase;
  font-size:.72rem;
  letter-spacing:.05em;
  color:var(--steel);
}
.article-row .byline .mono{ color:#9a9587; margin-left:.5rem; }

/* ===== Δράσεις band ===== */
.band-activism{
  background:var(--ink-2);
  color:var(--white);
  padding:3rem 0;
}
.band-activism .section-head{
  border-bottom-color:rgba(255,255,255,.25);
}
.band-activism .section-head h3{ color:#fff; }
.band-activism .see-all{ color:#9fb4d8; }
.event-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  padding:1.3rem;
  height:100%;
}
.event-card .evt-date{
  font-family:'JetBrains Mono', monospace;
  color:var(--signal);
  font-size:.8rem;
  letter-spacing:.03em;
}
.event-card h4{
  font-family:'Oswald', sans-serif;
  text-transform:none;
  font-size:1.08rem;
  font-weight:600;
  margin:.5rem 0 .6rem;
}
.event-card p{
  color:#b7bccb;
  font-size:.88rem;
  margin:0;
}

/* ===== Multimedia strip ===== */
.media-strip{ padding:3.2rem 0; }
.media-tile{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  background:linear-gradient(160deg, var(--steel), var(--ink));
}
.media-tile::before{
  content:"";
  position:absolute; inset:0;
  background:radial-gradient(circle at 65% 70%, rgba(224,57,44,.35), transparent 55%);
}
.media-tile .play{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
}
.media-tile .play span{
  width:52px; height:52px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  display:flex; align-items:center; justify-content:center;
  color:var(--ink);
  font-size:1rem;
}
.media-cap{
  padding:.7rem .1rem 0;
  font-size:.88rem;
  color:var(--text-soft);
}
.media-cap .mono{ color:#9a9587; font-size:.72rem; display:block; margin-top:.2rem; }

/* ===== Newsletter CTA ===== */
.cta-band{
  background:var(--ink);
  color:var(--white);
  padding: 1.0rem 0;
  text-align:center;
  border-top:4px solid var(--signal);
}
.cta-band h3{
  font-size:1.8rem;
  font-weight:700;
  margin-bottom:.6rem;
}
.cta-band p{
  color:#b7bccb;
  font-family:'PT Serif', serif;
  max-width:44ch;
  margin:0 auto 1.6rem;
}
.cta-form .form-control{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  font-family:'JetBrains Mono', monospace;
  font-size:.9rem;
}
.cta-form .form-control::placeholder{ color:#7d8598; }
.cta-form .form-control:focus{
  background:rgba(255,255,255,.09);
  border-color:var(--signal);
  color:#fff;
  box-shadow:0 0 0 .2rem rgba(224,57,44,.2);
}

/* ===== Footer ===== */
footer{
    background:var(--ink);
    color:#9aa3b5;
    font-size:.88rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}

footer a{ 
    font-family:'Oswald', sans-serif;
    color:#9aa3b5; 
    display:block; 
    margin-bottom:.5rem; 
    transition:color .15s;
}
footer a:hover{ color:var(--signal); }
footer .fine{
    border-top:1px solid rgba(255,255,255,.08);
    font-size:.78rem;
    color:#5f6579;
    font-family:'JetBrains Mono', monospace;
    padding-top: 0.5rem;
}

@media (max-width:767px){
  .article-row{ flex-direction:column; gap:.3rem; }
}
