/* News block on the home, /news and article pages (content panel, 11/2026).
   Brand: carbon #16211B, mint #76FFBE (only on dark), ivory #F8FCF2, accent #47DD96 on light,
   text grey-green #5B7966. Font: Figtree, as the rest of the site. */
.fs-news, .fs-page { --fs-carbon:#16211B; --fs-ivory:#F8FCF2; --fs-accent:#47DD96; --fs-grey:#5B7966;
  font-family:"Figtree",Sans-serif; color:var(--fs-carbon) }
.fs-news { background:var(--fs-ivory); padding:88px 20px 96px }
.fs-news-inner { max-width:1140px; margin:0 auto }
.fs-news-kicker { margin:0 0 10px; font-size:14px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--fs-grey) }
.fs-news-kicker a { color:inherit; text-decoration:none }
.fs-news-kicker a:hover { color:var(--fs-carbon) }
.fs-news .fs-news-title, .fs-page .fs-news-title { margin:0 0 40px; font-size:clamp(30px,4vw,44px); line-height:1.15; font-weight:700; color:var(--fs-carbon) }
.fs-news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px }
.fs-news-card { margin:0 }
/* home: one or two articles sit centred, not glued to the left */
.fs-news .fs-news-grid { display:flex; flex-wrap:wrap; justify-content:center }
.fs-news .fs-news-card { flex:0 1 calc((100% - 56px) / 3) }
.fs-news-card a { display:flex; flex-direction:column; height:100%; background:#fff; border-radius:14px; overflow:hidden;
  color:inherit; text-decoration:none; box-shadow:0 1px 0 rgba(22,33,27,.06); transition:transform .25s ease, box-shadow .25s ease }
.fs-news-card a:hover { transform:translateY(-3px); box-shadow:0 14px 30px -18px rgba(22,33,27,.35) }
.fs-news-card a:focus-visible { outline:3px solid var(--fs-accent); outline-offset:3px }
.fs-news-cover { display:block; width:100%; aspect-ratio:16/9; height:auto; object-fit:cover; background:#E7EFE4 }
.fs-news-cover--empty { background:linear-gradient(135deg,#16211B 0%,#2A3B31 100%) }
.fs-news-body { display:flex; flex-direction:column; gap:10px; padding:22px 24px 26px; flex:1 }
.fs-news-body time { font-size:14px; color:var(--fs-grey) }
.fs-news-card .fs-news-body h2, .fs-news-card .fs-news-body h3 { margin:0; font-size:21px; line-height:1.3; font-weight:700; color:var(--fs-carbon) }
.fs-news-body p { margin:0; font-size:16px; line-height:1.55; color:var(--fs-grey) }
.fs-news-more { margin-top:auto; padding-top:8px; font-size:15px; font-weight:600; color:var(--fs-carbon);
  text-decoration:underline; text-decoration-color:var(--fs-accent); text-decoration-thickness:2px; text-underline-offset:5px }
.fs-news-all-wrap { margin:40px 0 0; text-align:center }
.fs-news-all { display:inline-block; padding:13px 26px; border-radius:999px; background:var(--fs-carbon); color:#76FFBE;
  font-weight:600; font-size:16px; text-decoration:none }
.fs-news-all:hover { background:#24342B; color:#76FFBE }
.fs-news-all:focus-visible { outline:3px solid var(--fs-accent); outline-offset:3px }

/* standalone pages: header bar + content */
.fs-top { background:var(--fs-ivory,#F8FCF2); border-bottom:1px solid rgba(22,33,27,.08) }
.fs-top-inner { max-width:1140px; margin:0 auto; padding:18px 20px; display:flex; align-items:center; justify-content:space-between; gap:20px }
.fs-top-logo img { display:block; width:190px; height:auto }
.fs-top nav { display:flex; gap:22px; font-family:"Figtree",Sans-serif; font-size:16px; font-weight:600 }
.fs-top nav a { color:#16211B; text-decoration:none }
.fs-top nav a:hover { text-decoration:underline; text-decoration-color:#47DD96; text-decoration-thickness:2px; text-underline-offset:5px }
.fs-page { display:block; background:var(--fs-ivory); padding:64px 20px 96px; min-height:50vh }
.fs-news-grid--page { margin-top:8px }
.fs-empty { font-size:18px; color:var(--fs-grey) }
.fs-empty a { color:var(--fs-carbon) }

.fs-article { max-width:740px; margin:0 auto }
.fs-page .fs-article h1 { margin:0 0 14px; font-size:clamp(30px,4.4vw,46px); line-height:1.15; font-weight:700; color:var(--fs-carbon) }
.fs-article-meta { margin:0 0 32px; font-size:15px; color:var(--fs-grey) }
.fs-article-cover { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; border-radius:14px; margin:0 0 36px }
.fs-article-body { font-size:18px; line-height:1.7; color:#24342B }
.fs-article-body p { margin:0 0 1.2em }
.fs-page .fs-article-body h2 { margin:1.8em 0 .6em; font-size:27px; line-height:1.25; font-weight:700; color:var(--fs-carbon) }
.fs-page .fs-article-body h3 { margin:1.5em 0 .5em; font-size:21px; line-height:1.3; font-weight:700; color:var(--fs-carbon) }
.fs-article-body ul, .fs-article-body ol { margin:0 0 1.2em; padding-left:1.3em }
.fs-article-body li { margin:.35em 0 }
.fs-article-body a { color:var(--fs-carbon); text-decoration:underline; text-decoration-color:var(--fs-accent);
  text-decoration-thickness:2px; text-underline-offset:4px }
.fs-article-body strong { font-weight:700; color:var(--fs-carbon) }
.fs-article-back { margin:48px 0 0; padding-top:28px; border-top:1px solid rgba(22,33,27,.12) }
.fs-article-back a { font-weight:600; color:var(--fs-carbon) }

@media (max-width:1024px) { .fs-news-grid { grid-template-columns:repeat(2,minmax(0,1fr)) } .fs-news .fs-news-card { flex-basis:calc((100% - 28px) / 2) } }
@media (max-width:767px) {
  .fs-news { padding:64px 16px 72px }
  .fs-news-grid { grid-template-columns:1fr; gap:20px }
  .fs-news .fs-news-card { flex-basis:100% }
  .fs-news .fs-news-title, .fs-page .fs-news-title { margin-bottom:28px }
  .fs-top-inner { padding:14px 16px }
  .fs-top-logo img { width:150px }
  .fs-top nav { gap:16px; font-size:15px }
  .fs-page { padding:44px 16px 72px }
  .fs-article-body { font-size:17px }
}
@media (prefers-reduced-motion:reduce) { .fs-news-card a { transition:none } .fs-news-card a:hover { transform:none } }

/* ---- Antonio 03/11: rounded images as on the site, more of the brand green ---- */
.fs-news-kicker::before { content:""; display:inline-block; width:9px; height:9px; border-radius:50%; background:var(--fs-accent);
  margin-right:9px; vertical-align:1px }
.fs-news .fs-news-title::after, .fs-page .fs-news-title::after { content:""; display:block; width:64px; height:6px; border-radius:3px;
  background:#76FFBE; margin-top:16px }
.fs-news-card a { border-radius:20px; padding:10px; border:1px solid rgba(22,33,27,.06) }
.fs-news-card a:hover { border-color:var(--fs-accent) }
.fs-news .fs-news-card img.fs-news-cover, .fs-page .fs-news-card img.fs-news-cover, .fs-news-cover--empty { border-radius:15px }
.fs-news-cover--empty { background:#16211B url("/wp-content/uploads/2026/10/faas-mark-white.svg") center/56px no-repeat }
.fs-news-body { padding:18px 14px 14px }
.fs-news-body time { align-self:flex-start; background:#DDF9EA; color:#16613C; font-weight:600; font-size:13px; padding:3px 11px; border-radius:999px }
.fs-news-more { align-self:flex-start; margin-top:auto; padding:8px 18px; border-radius:999px; background:#76FFBE; color:var(--fs-carbon);
  text-decoration:none; font-size:14px; font-weight:700; transition:background .2s }
.fs-news-card a:hover .fs-news-more { background:#47DD96 }
.fs-news-all { background:#76FFBE; color:var(--fs-carbon); font-weight:700 }
.fs-news-all:hover { background:#47DD96; color:var(--fs-carbon) }
.fs-news { position:relative; overflow:hidden }
.fs-news::before { content:""; position:absolute; right:-120px; top:-120px; width:340px; height:340px; border-radius:50%;
  background:radial-gradient(circle, rgba(118,255,190,.35) 0%, rgba(118,255,190,0) 70%); pointer-events:none }
.fs-news-inner { position:relative }

.fs-top nav a[href="/news"] { text-decoration:underline; text-decoration-color:#47DD96; text-decoration-thickness:3px; text-underline-offset:6px }
.fs-page .fs-article .fs-news-kicker a { display:inline-block; background:#76FFBE; color:var(--fs-carbon); padding:4px 12px; border-radius:999px; letter-spacing:.1em }
.fs-page .fs-article .fs-news-kicker::before { display:none }
.fs-page img.fs-article-cover { border-radius:20px; box-shadow:0 24px 50px -30px rgba(22,33,27,.45) }
.fs-article-meta time { background:#DDF9EA; color:#16613C; font-weight:600; padding:3px 11px; border-radius:999px }
.fs-page .fs-article-body h2 { border-left:5px solid #76FFBE; padding-left:14px }
.fs-article-body li::marker { color:var(--fs-accent) }
.fs-article-body ul li { padding-left:4px }
.fs-article-back a { display:inline-block; background:var(--fs-carbon); color:#76FFBE; padding:12px 24px; border-radius:999px; text-decoration:none }
.fs-article-back a:hover { background:#24342B }
