/* Article (servizi-web) styling — built on site design tokens from common.css */
.ed-article {
  max-width: 820px;
  margin: 0 auto;
  padding: clamp(48px, 7vw, 96px) clamp(20px, 4vw, 40px) clamp(56px, 8vw, 104px);
  color: var(--ink);
  font-family: var(--font-sans);
}
.ed-article .title,
.ed-article h1 {
  font-size: clamp(32px, 5vw, 52px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  font-weight: 600;
  margin: 0 0 clamp(20px, 3vw, 32px);
  color: var(--ink);
}
.ed-article h2 {
  font-size: clamp(24px, 3.4vw, 34px);
  line-height: 1.15;
  letter-spacing: -0.01em;
  font-weight: 600;
  margin: clamp(40px, 5vw, 60px) 0 clamp(14px, 2vw, 20px);
}
.ed-article h3 {
  font-size: clamp(19px, 2.4vw, 23px);
  line-height: 1.25;
  font-weight: 600;
  margin: clamp(30px, 4vw, 42px) 0 clamp(10px, 1.4vw, 14px);
}
.ed-article p {
  font-size: clamp(16px, 1.3vw, 18px);
  line-height: 1.65;
  color: var(--ink-soft);
  margin: 0 0 clamp(16px, 2vw, 22px);
}
.ed-article p.content { font-size: clamp(17px, 1.5vw, 20px); }
.ed-article ul,
.ed-article ol {
  margin: 0 0 clamp(16px, 2vw, 22px);
  padding-left: 1.4em;
  color: var(--ink-soft);
  font-size: clamp(16px, 1.3vw, 18px);
  line-height: 1.6;
}
.ed-article li { margin: 0 0 8px; }
.ed-article a {
  color: var(--green-deep);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color .15s var(--ease-std);
}
.ed-article a:hover { color: var(--ink); }
.ed-article strong { font-weight: 600; color: var(--ink); }
.ed-article img { max-width: 100%; height: auto; display: block; }
.ed-article .element-list,
.ed-article .text-section,
.ed-article section { margin: 0; }
.ed-article .ed-mw,
.ed-article .ext-container,
.ed-article .inner-container { max-width: 100%; padding: 0; }

/* Bottom CTA block */
.ed-article .bg-white {
  margin-top: clamp(48px, 7vw, 80px);
  padding: clamp(36px, 5vw, 56px) clamp(24px, 4vw, 48px);
  background: var(--paper-warm);
  border-radius: 20px;
  text-align: center;
}
.ed-article .bg-white h2 { margin-top: 0; }
.ed-article .edera-btn,
.ed-article a.edera-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  padding: 15px 30px;
  border-radius: 9999px;
  background: var(--ink);
  color: var(--paper);
  font: 500 14px/1 var(--font-sans);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
}
.ed-article .edera-btn:hover { color: var(--paper); background: #000; }
.ed-article .edera-btn img { width: 16px; height: 16px; filter: invert(1); }

/* ===== Service pages (/servizi/<slug>) ===== */
.ed-service-hero {
  background: var(--paper-warm);
  border-bottom: 1px solid var(--border-1);
}
.ed-service-hero__inner {
  max-width: 900px;
  margin: 0 auto;
  padding: clamp(56px, 9vw, 120px) clamp(20px, 4vw, 40px) clamp(48px, 7vw, 88px);
}
.ed-service-hero__eyebrow {
  display: inline-block;
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--gold-deep);
  margin-bottom: 18px;
}
.ed-service-hero__title {
  font-family: var(--font-sans);
  font-size: clamp(34px, 5.4vw, 62px);
  line-height: 1.03;
  letter-spacing: -0.025em;
  font-weight: 600;
  color: var(--ink);
  margin: 0 0 clamp(18px, 2.6vw, 26px);
}
.ed-service-hero__lead {
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.5;
  color: var(--fg-2);
  margin: 0 0 clamp(28px, 3.4vw, 38px);
  max-width: 60ch;
}
.ed-service-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.ed-service-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 28px;
  border-radius: 9999px;
  font: 500 14px/1 var(--font-sans);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s var(--ease-std), color .15s var(--ease-std);
}
.ed-service-btn svg { width: 16px; height: 16px; }
.ed-service-btn--ink { background: var(--ink); color: var(--paper); }
.ed-service-btn--ink:hover { background: #000; color: var(--paper); }
.ed-service-btn--outline { border: 1px solid var(--ink); color: var(--ink); }
.ed-service-btn--outline:hover { background: var(--ink); color: var(--paper); }
.ed-service-btn--paper { background: var(--paper); color: var(--ink); }
.ed-service-btn--paper:hover { background: var(--paper-2); color: var(--ink); }

/* Service closing CTA band */
.ed-service-cta { background: var(--ink); color: var(--paper); }
.ed-service-cta__inner {
  max-width: 820px;
  margin: 0 auto;
  padding: clamp(56px, 8vw, 104px) clamp(20px, 4vw, 40px);
  text-align: center;
}
.ed-service-cta__title {
  font-family: var(--font-sans);
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 500;
  margin: 0 0 16px;
  color: var(--paper);
}
.ed-service-cta__text {
  font-size: clamp(16px, 1.6vw, 19px);
  line-height: 1.55;
  color: rgba(255,255,255,0.66);
  margin: 0 auto clamp(28px, 3.4vw, 36px);
  max-width: 56ch;
}

/* ===== Blog category index (/servizi-web) ===== */
.ed-blog-hero { background: var(--paper-warm); border-bottom: 1px solid var(--border-1); }
.ed-blog-hero__inner {
  max-width: 1200px; margin: 0 auto;
  padding: clamp(56px, 9vw, 120px) clamp(20px, 4vw, 40px) clamp(44px, 6vw, 72px);
}
.ed-blog-hero__eyebrow {
  display: inline-block; font-size: 13px; font-weight: 500; text-transform: uppercase;
  letter-spacing: 0.08em; color: var(--gold-deep); margin-bottom: 18px;
}
.ed-blog-hero__title {
  font-family: var(--font-sans); font-size: clamp(34px, 5.4vw, 62px); line-height: 1.03;
  letter-spacing: -0.025em; font-weight: 600; color: var(--ink); margin: 0 0 clamp(16px, 2.4vw, 24px);
}
.ed-blog-hero__lead {
  font-size: clamp(18px, 1.8vw, 22px); line-height: 1.5; color: var(--fg-2); margin: 0; max-width: 62ch;
}
.ed-blog-wrap {
  max-width: 1200px; margin: 0 auto;
  padding: clamp(48px, 6vw, 80px) clamp(20px, 4vw, 40px) clamp(64px, 9vw, 112px);
}
.ed-blog-count {
  font-family: var(--font-mono); font-size: 13px; color: var(--fg-3);
  margin: 0 0 clamp(24px, 3vw, 36px); text-transform: uppercase; letter-spacing: 0.06em;
}
.ed-blog-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1px; background: var(--border-1); border: 1px solid var(--border-1); border-radius: 4px; overflow: hidden;
}
.ed-blog-card {
  display: flex; flex-direction: column; background: var(--paper);
  padding: clamp(26px, 3vw, 38px) clamp(22px, 2.4vw, 32px);
  text-decoration: none; color: inherit; min-height: 220px;
  transition: background .2s var(--ease-std);
}
.ed-blog-card:hover { background: var(--paper-warm); }
.ed-blog-card__title {
  font-family: var(--font-sans); font-size: clamp(19px, 1.6vw, 22px); line-height: 1.22;
  letter-spacing: -0.015em; font-weight: 600; color: var(--ink); margin: 0 0 12px;
}
.ed-blog-card__desc {
  font-size: 15px; line-height: 1.55; color: var(--fg-2); margin: 0 0 auto;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.ed-blog-card__more {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 20px;
  font: 500 13px/1 var(--font-sans); text-transform: uppercase; letter-spacing: 0.06em; color: var(--green-deep);
}
.ed-blog-card:hover .ed-blog-card__more { color: var(--ink); }
.ed-blog-card__more svg { width: 15px; height: 15px; }
