/* ─────────────────────────────────────────────────────────────
   ACADEMIA DE DESIGN - rt.md/academia
   Arhiva studiilor de caz (2020) + articole noi.
   Long-form reading: coloană 680px, imagini generoase.
   Light only. Jakarta titluri · Figtree body · JetBrains mono.
   ─────────────────────────────────────────────────────────── */

*, *::before, *::after { box-sizing: border-box; }

:root {
  --bg:      #faf9f6;
  --bg-2:    #f1efe9;
  --fg:      #16170f;
  --fg-2:    #4d4f44;
  --fg-3:    #83857a;
  --line:    rgba(22,23,15,.12);
  --line-2:  rgba(22,23,15,.26);
  --accent:  #5fae5f;

  --font-title: 'Plus Jakarta Sans', system-ui, sans-serif;
  --font-body:  'Figtree', system-ui, sans-serif;
  --font-mono:  'JetBrains Mono', 'SF Mono', Menlo, monospace;

  --col: 680px;        /* reading column */
  --col-wide: 900px;   /* images bleed wider */
}

html, body { margin: 0; padding: 0; overflow-x: hidden; }
html {
  background: var(--bg);
  color: var(--fg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}
body { font-family: var(--font-body); line-height: 1.65; font-size: 18px; }
h1, h2, h3, p, ul, ol, figure, blockquote { margin: 0; padding: 0; }
ul, ol { list-style: none; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button { font: inherit; cursor: pointer; }

/* ── Topbar ── */
.ac-topbar {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in oklab, var(--bg) 88%, transparent);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
}
.ac-topbar-inner {
  width: 100%;
  padding: 14px clamp(20px, 4vw, 40px);
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.ac-brand {
  display: inline-flex; align-items: center; gap: 12px;
  color: var(--fg);
}
.ac-brand-mark { width: 30px; height: 31px; flex-shrink: 0; color: var(--fg); }
.ac-brand-badge { width: 36px; height: 36px; flex-shrink: 0; border-radius: 50%; }
.ac-brand-text {
  font-family: var(--font-title);
  font-size: 15px; font-weight: 800;
  letter-spacing: .04em; text-transform: uppercase;
}
.ac-brand-sub {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .04em; text-transform: uppercase;
  color: var(--fg-3);
}
.ac-topbar-link {
  font-family: var(--font-mono);
  font-size: 12px; letter-spacing: .04em; text-transform: uppercase;
  color: var(--fg-2);
  padding: 8px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  transition: color .2s, border-color .2s;
}
.ac-topbar-link:hover { color: var(--accent); border-color: var(--accent); }
@media (max-width: 560px) {
  /* Mobile: doar badge-ul, fără text (evită wrap pe două rânduri) */
  .ac-brand-sub, .ac-brand-text { display: none; }
}

/* ── Article layout ── */
.ac-article {
  max-width: var(--col);
  margin-inline: auto;
  padding: clamp(40px, 7vw, 88px) clamp(20px, 4vw, 32px) clamp(56px, 8vw, 96px);
}

/* Header of article */
.ac-eyebrow {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  font-family: var(--font-mono);
  font-size: 12px; letter-spacing: .04em; text-transform: uppercase;
  color: var(--fg-3);
  margin-bottom: 24px;
}
.ac-eyebrow .dot { color: var(--line-2); }
.ac-eyebrow .tag { color: var(--accent); }
.ac-title {
  font-family: var(--font-title);
  font-size: clamp(30px, 5.4vw, 48px);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: 1.08;
  margin-bottom: 20px;
}
.ac-intro {
  font-size: clamp(18px, 2.1vw, 21px);
  font-weight: 500;
  color: var(--fg-2);
  line-height: 1.6;
  margin-bottom: clamp(32px, 5vw, 48px);
}

/* Body typography */
.ac-article h2 {
  font-family: var(--font-title);
  font-size: clamp(22px, 3vw, 28px);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.2;
  margin: clamp(36px, 5vw, 56px) 0 14px;
}
.ac-article h3 {
  font-family: var(--font-title);
  font-size: 19px; font-weight: 700; letter-spacing: -.01em;
  margin: 28px 0 10px;
}
.ac-article p { margin-bottom: 18px; color: var(--fg); }
.ac-article p.muted { color: var(--fg-2); }
.ac-article strong { font-weight: 700; }
.ac-article a.link {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--line-2);
  transition: color .2s, text-decoration-color .2s;
}
.ac-article a.link:hover { color: var(--accent); text-decoration-color: var(--accent); }

/* Lists with arrow markers */
.ac-list { margin: 0 0 18px; }
.ac-list li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 8px;
}
.ac-list li::before {
  content: "→";
  position: absolute; left: 0;
  font-family: var(--font-mono);
  color: var(--accent);
}

/* Task blockquote */
.ac-task {
  border-left: 2px solid var(--accent);
  padding: 4px 0 4px 20px;
  margin: 24px 0;
}
.ac-task .label {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .05em; text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 4px;
}
.ac-task p { font-weight: 600; font-size: 19px; margin: 0; }

/* Figures - same width as the reading column, always aligned */
.ac-fig {
  margin: 28px 0;
  width: 100%;
}
/* Breakout: wider than the column, centered under it (Medium "outset").
   Marked per-figure - the originals used it for key moments. */
@media (min-width: 760px) {
  .ac-fig--wide {
    width: min(calc(100vw - 48px), 1080px);
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
}
/* Small originals (< column width) stay at natural size */
.ac-fig--small img { width: auto; max-width: 100%; }

/* Image grids - Medium-style multi-image rows (presentation slides, sketches) */
.ac-grid {
  display: grid;
  gap: 10px;
  margin: 28px 0;
}
.ac-grid--2 { grid-template-columns: repeat(2, 1fr); }
.ac-grid--3 { grid-template-columns: repeat(3, 1fr); }
.ac-grid img {
  width: 100%;
  border-radius: 6px;
  border: 1px solid var(--line);
}
@media (min-width: 760px) {
  .ac-grid--wide {
    width: min(calc(100vw - 48px), 1080px);
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media (max-width: 560px) {
  .ac-grid--3 { grid-template-columns: repeat(2, 1fr); }
}
.ac-fig img {
  width: 100%;
  border-radius: 8px;
  border: 1px solid var(--line);
}
.ac-fig figcaption {
  font-family: var(--font-mono);
  font-size: 12px;
  color: var(--fg-3);
  margin-top: 10px;
}

/* YouTube embed */
.ac-video {
  position: relative;
  aspect-ratio: 16 / 9;
  margin: 28px 0;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #000;
}
.ac-video iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0;
}

/* PS 2026 note */
.ac-ps {
  margin-top: clamp(40px, 6vw, 64px);
  padding: 24px;
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: 12px;
}
.ac-ps .label {
  display: block;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .05em; text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 8px;
}
.ac-ps p { font-size: 16px; color: var(--fg-2); margin: 0 0 10px; }
.ac-ps p:last-child { margin-bottom: 0; }

/* Prev/next nav */
.ac-nav {
  max-width: var(--col);
  margin-inline: auto;
  padding: 0 clamp(20px, 4vw, 32px) clamp(40px, 6vw, 64px);
  display: flex; justify-content: space-between; gap: 12px;
  flex-wrap: wrap;
}
.ac-nav a {
  font-family: var(--font-mono);
  font-size: 13px; letter-spacing: .02em;
  color: var(--fg-2);
  padding: 12px 18px;
  border: 1px solid var(--line);
  border-radius: 999px;
  transition: color .2s, border-color .2s;
  min-height: 44px;
  display: inline-flex; align-items: center;
}
.ac-nav a:hover { color: var(--accent); border-color: var(--accent); }
@media (max-width: 640px) {
  .ac-nav { flex-direction: column; align-items: stretch; }
  .ac-nav a { justify-content: center; text-align: center; }
}

/* ── Index (hub) ── */
.ac-hub {
  max-width: var(--col-wide);
  margin-inline: auto;
  padding: clamp(48px, 8vw, 100px) clamp(20px, 4vw, 32px) clamp(56px, 8vw, 96px);
}
.ac-hub-title {
  font-family: var(--font-title);
  font-size: clamp(40px, 8vw, 84px);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1;
  margin-bottom: 20px;
}
.ac-hub-title em { font-style: normal; color: var(--accent); }
.ac-hub-lead {
  font-size: clamp(17px, 2vw, 21px);
  font-weight: 500;
  color: var(--fg-2);
  max-width: 58ch;
  margin-bottom: 12px;
}
.ac-hub-meta {
  font-family: var(--font-mono);
  font-size: 12px; letter-spacing: .04em; text-transform: uppercase;
  color: var(--fg-3);
  margin-bottom: clamp(36px, 6vw, 64px);
}

.ac-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (max-width: 720px) { .ac-cards { grid-template-columns: 1fr; } }
.ac-card {
  display: flex; flex-direction: column; gap: 10px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--bg);
  transition: border-color .2s, background .2s, transform .2s;
}
.ac-card:hover {
  border-color: var(--accent);
  background: #fff;
  transform: translateY(-2px);
}
.ac-card-meta {
  display: flex; justify-content: space-between; gap: 10px;
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .04em; text-transform: uppercase;
  color: var(--fg-3);
}
.ac-card h3 {
  font-family: var(--font-title);
  font-size: 20px; font-weight: 800; letter-spacing: -.02em; line-height: 1.2;
}
.ac-card p { font-size: 14.5px; color: var(--fg-2); line-height: 1.55; }
.ac-card .cta {
  margin-top: auto; padding-top: 8px;
  font-family: var(--font-mono);
  font-size: 12px; letter-spacing: .04em; text-transform: uppercase;
  color: var(--fg-3);
  transition: color .2s;
}
.ac-card:hover .cta { color: var(--accent); }
.ac-card--soon { opacity: .55; pointer-events: none; border-style: dashed; }

/* ── Footer ── */
.ac-footer {
  border-top: 1px solid var(--line);
  padding: 28px clamp(20px, 4vw, 32px) max(28px, env(safe-area-inset-bottom));
}
.ac-footer-inner {
  max-width: var(--col-wide);
  margin-inline: auto;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px;
  font-size: 13.5px; color: var(--fg-3);
}
.ac-footer a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--line-2); }
.ac-footer a:hover { color: var(--accent); }

/* ── Mobile polish ── */
@media (max-width: 640px) {
  body { font-size: 17px; }

  .ac-article { padding-top: 36px; }
  .ac-eyebrow { gap: 8px; margin-bottom: 18px; }
  .ac-title { margin-bottom: 16px; }
  .ac-intro { margin-bottom: 28px; }

  .ac-fig { margin: 22px 0; }
  .ac-fig img { border-radius: 6px; }
  .ac-video { margin: 22px 0; border-radius: 6px; }

  .ac-task { margin: 20px 0; padding-left: 16px; }
  .ac-task p { font-size: 17px; }

  .ac-ps { padding: 18px; }
  .ac-ps p { font-size: 15px; }

  .ac-card { padding: 20px; }
  .ac-hub-lead { margin-bottom: 10px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}

/* ─── Inline SVG icons (replace text glyphs) ─── */
.ac-topbar-link { display: inline-flex; align-items: center; gap: 6px; }
.ac-topbar-link svg { width: 13px; height: 13px; }
.ac-card .cta { display: inline-flex; align-items: center; gap: 6px; }
.ac-card .cta svg { width: 12px; height: 12px; }
.ac-nav a { gap: 8px; }
.ac-nav a svg { width: 14px; height: 14px; flex-shrink: 0; }
.ac-list li::before {
  content: "";
  width: 15px; height: 15px;
  top: 0.28em;
  background: var(--accent);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ─── Next-article card (replaces pill nav) ─── */
.ac-next {
  max-width: var(--col);
  margin-inline: auto;
  padding: 0 clamp(20px, 4vw, 32px) clamp(48px, 7vw, 80px);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.ac-next-label {
  font-family: var(--font-mono);
  font-size: 12px; letter-spacing: .05em; text-transform: uppercase;
  color: var(--fg-3);
}
.ac-next-card {
  display: block;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  background: var(--bg);
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.ac-next-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(22,23,15,.08);
}
.ac-next-imgwrap {
  display: block;
  aspect-ratio: 1974 / 865;   /* același ratio ca la hub - cover complet, fără crop */
  overflow: hidden;
  background: var(--bg-2);
  border-bottom: 1px solid var(--line);
}
.ac-next-imgwrap img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform .35s cubic-bezier(.22,1,.36,1);
}
.ac-next-card:hover .ac-next-imgwrap img { transform: scale(1.04); }
.ac-next-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px 24px 22px;
  min-width: 0;
}
.ac-next-meta {
  font-family: var(--font-mono);
  font-size: 11px; letter-spacing: .04em; text-transform: uppercase;
  color: var(--fg-3);
}
.ac-next-meta .tag { color: var(--accent); }
.ac-next-title {
  font-family: var(--font-title);
  font-size: clamp(19px, 2.6vw, 25px);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.15;
  color: var(--fg);
}
.ac-next-cta {
  margin-top: 4px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 12px; letter-spacing: .04em; text-transform: uppercase;
  color: var(--fg-3);
  transition: color .2s;
}
.ac-next-cta svg { width: 13px; height: 13px; transition: transform .2s; }
.ac-next-card:hover .ac-next-cta { color: var(--accent); }
.ac-next-cta svg { flex-shrink: 0; }
.ac-next-card:hover .ac-next-cta svg { transform: translateX(3px); }
.ac-next-all {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 13px;
  color: var(--fg-2);
  padding: 11px 18px;
  border: 1px solid var(--line);
  border-radius: 999px;
  min-height: 44px;
  transition: color .2s, border-color .2s;
}
.ac-next-all svg { width: 14px; height: 14px; }
.ac-next-all:hover { color: var(--accent); border-color: var(--accent); }
@media (max-width: 600px) {
  .ac-next-body { padding: 16px 18px 18px; }
  .ac-next-all { align-self: stretch; justify-content: center; }
}

/* ─── Full-bleed article cover (top, before title) ─── */
.ac-cover {
  margin: 0;
  width: 100%;
}
.ac-cover img {
  width: 100%;
  height: auto;
  display: block;
  border-bottom: 1px solid var(--line);
}
/* article starts closer under the cover */
.ac-cover + .ac-article { padding-top: clamp(32px, 5vw, 56px); }

/* ─── Hub card covers ─── */
.ac-card { --pad: 24px; padding: var(--pad); }
.ac-card-cover {
  display: block;
  margin: calc(var(--pad) * -1) calc(var(--pad) * -1) 12px;
  aspect-ratio: 1974 / 865;   /* același ratio ca la cover-ul Haiduc */
  overflow: hidden;
  border-radius: 11px 11px 0 0;
  background: var(--bg-2);
  border-bottom: 1px solid var(--line);
}
.ac-card-cover img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s cubic-bezier(.22,1,.36,1);
}
.ac-card:hover .ac-card-cover img { transform: scale(1.04); }
@media (max-width: 640px) {
  .ac-card { --pad: 20px; }
}

/* ─── Manifest integrat pe hub ─── */
.ac-manifest {
  max-width: 62ch;
  margin-bottom: clamp(28px, 4vw, 40px);
  padding-left: 20px;
  border-left: 2px solid var(--accent);
}
.ac-manifest p {
  font-size: clamp(16px, 1.8vw, 18px);
  line-height: 1.65;
  color: var(--fg-2);
  margin: 0 0 14px;
}
.ac-manifest strong { font-weight: 700; color: var(--fg); }
.ac-manifest-ps {
  font-size: 14px !important;
  color: var(--fg-3) !important;
  font-style: italic;
}
.ac-manifest-link { font-size: 15px !important; }
.ac-manifest-link a {
  color: var(--fg);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--line-2);
}
.ac-manifest-link a:hover { color: var(--accent); text-decoration-color: var(--accent); }

/* ─── Hub banner + condensed manifest + chips ─── */
.ac-hub-banner {
  margin: 0 0 clamp(24px, 4vw, 40px);
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--line);
}
.ac-hub-banner img { width: 100%; height: auto; display: block; }

.ac-manifest { border-left: 0; padding-left: 0; max-width: 64ch; }
.ac-manifest-quote {
  font-family: var(--font-title);
  font-size: clamp(22px, 3.2vw, 32px) !important;
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.25 !important;
  color: var(--fg) !important;
  margin-bottom: 16px !important;
}
.ac-manifest-quote em { font-style: normal; color: var(--accent); }

.ac-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: clamp(32px, 5vw, 56px);
}
.ac-chips span {
  font-family: var(--font-mono);
  font-size: 12px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--fg-2);
  padding: 7px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--bg);
}

/* ─── Serif body pentru prose (Source Serif 4) ─── */
:root { --font-serif: 'Source Serif 4', Georgia, 'Times New Roman', serif; }
.ac-article p,
.ac-intro,
.ac-list li,
.ac-task p,
.ac-ps p,
.ac-manifest p {
  font-family: var(--font-serif);
}
.ac-article p, .ac-list li { font-size: 19px; line-height: 1.7; }
.ac-intro { font-size: clamp(19px, 2.2vw, 22px); line-height: 1.65; }
.ac-manifest p { font-size: clamp(17px, 1.9vw, 19px); line-height: 1.7; }
/* pull-quote rămâne Jakarta (e titlu, nu prose) */
.ac-manifest-quote { font-family: var(--font-title) !important; }
/* eyebrow, chips, carduri, nav - rămân sans/mono (UI) */
@media (max-width: 640px) {
  .ac-article p, .ac-list li { font-size: 18px; }
}
/* re-assert: eyebrow rămâne mono (era călcat de .ac-article p serif) */
.ac-article p.ac-eyebrow {
  font-family: var(--font-mono);
  font-size: 12px;
  line-height: 1.65;
}
.ac-ps p { font-size: 17px; }

/* ─── Cookie consent banner (GA4) ─── */
.rtc{position:fixed;left:16px;bottom:16px;z-index:9999;max-width:380px;
  background:#fff;color:var(--fg);
  border:1px solid var(--line);border-radius:12px;padding:16px 16px 14px;
  box-shadow:0 8px 24px rgba(22,23,15,.10),0 2px 6px rgba(22,23,15,.06);
  font-family:var(--font-body);
  opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.rtc.is-in{opacity:1;transform:none}
.rtc-txt{margin:0 0 12px;font-size:13.5px;line-height:1.5;color:var(--fg-2)}
.rtc-txt a{color:var(--fg);text-decoration:underline;text-underline-offset:2px}
.rtc-btns{display:flex;gap:8px}
.rtc-btns button{flex:1;padding:9px 14px;font:inherit;font-size:13px;font-weight:700;
  border-radius:999px;cursor:pointer;border:1px solid transparent;
  transition:opacity .2s,border-color .2s,color .2s}
.rtc-yes{background:var(--fg);color:var(--bg)}
.rtc-yes:hover{opacity:.85}
.rtc-btns .rtc-no{background:transparent;color:var(--fg-2);border:1px solid var(--line-2)}
.rtc-btns .rtc-no:hover{border-color:var(--fg);color:var(--fg)}
@media(max-width:480px){.rtc{left:12px;right:12px;bottom:12px;max-width:none}}
@media(prefers-reduced-motion:reduce){.rtc{transition:none}}

/* ─── Hub: secțiuni (Seria continuă / Arhiva) ─── */
.ac-hub-sec {
  font-family: var(--font-title);
  font-size: clamp(20px, 2.6vw, 26px);
  font-weight: 800;
  letter-spacing: -.02em;
  margin: clamp(40px, 6vw, 64px) 0 6px;
}
.ac-hub-sec span { color: var(--fg-3); font-weight: 700; }
.ac-hub-secnote {
  font-family: var(--font-mono);
  font-size: 12px; letter-spacing: .03em;
  color: var(--fg-3);
  margin: 0 0 20px;
}
.ac-hub-secnote a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--line-2); }
.ac-hub-secnote a:hover { color: var(--accent); text-decoration-color: var(--accent); }
.ac-chips + .ac-hub-sec { margin-top: clamp(32px, 5vw, 48px); }

/* ─── Bento gallery (aplicații de logo) ─── */
.ac-bento {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: clamp(120px, 16vw, 240px);
  gap: 10px;
  margin: 28px 0;
}
.ac-bento img {
  width: 100%; height: 100%;
  object-fit: cover;
  border-radius: 6px;
  border: 1px solid var(--line);
}
.ac-bento .b-lg { grid-column: span 2; grid-row: span 2; }
@media (min-width: 760px) {
  .ac-bento--wide {
    width: min(calc(100vw - 48px), 1080px);
    position: relative; left: 50%; transform: translateX(-50%);
  }
}
@media (max-width: 560px) {
  .ac-bento { grid-template-columns: repeat(2, 1fr); grid-auto-rows: clamp(110px, 28vw, 180px); }
}

/* ─── Figură full-bleed (100vw, nu contained) ─── */
.ac-fig--full {
  width: 100vw;
  position: relative; left: 50%; transform: translateX(-50%);
  margin: 28px 0;
}
.ac-fig--full img { border-radius: 0; border-left: 0; border-right: 0; }
.ac-fig--full figcaption { padding: 0 clamp(20px, 4vw, 32px); }

/* ─── Evidențiere tip marker ─── */
.ac-article mark {
  --mk: rgba(239, 197, 63, .38);
  background: linear-gradient(100deg, transparent 0%, var(--mk) 4%, var(--mk) 93%, transparent 98%);
  border-radius: 6px 2px 8px 3px;
  padding: 1px 6px; margin: 0 -4px;
  color: inherit;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
