.fm-news-section,.fm-news-page{--fm-gold:#e6ac38;--fm-muted:#9ba3b4;--fm-border:rgba(155,163,180,.16);color:#f4f5f7;background:#12151f;font-family:inherit}
.fm-news-section{padding:88px 0;scroll-margin-top:64px;border-top:1px solid var(--fm-border)}
.fm-news-page{min-height:75vh;padding:40px 0 88px}
.fm-news-wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.fm-news-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px}
.fm-news-kicker{margin:0 0 14px;color:var(--fm-gold);font-size:13px;font-weight:600;letter-spacing:.16em}
.fm-news-heading-row h2,.fm-news-page-heading h1{margin:0;color:#f4f5f7;font-size:clamp(28px,3vw,40px);font-weight:700;line-height:1.3}
.fm-news-lead{margin:14px 0 0;color:var(--fm-muted);font-size:16px;line-height:1.8}
.fm-news-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--fm-gold);border-radius:7px;padding:11px 19px;background:var(--fm-gold);color:#171a22;text-decoration:none;font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}
.fm-news-button:hover{background:#f0bc55;border-color:#f0bc55}
.fm-news-button-outline{background:transparent;color:var(--fm-gold);border-color:rgba(230,172,56,.38)}
.fm-news-button-outline:hover{background:rgba(230,172,56,.1);color:#f0bc55}
.fm-news-button:focus-visible,.fm-news-card a:focus-visible,.fm-news-breadcrumb a:focus-visible,.fm-news-article-body a:focus-visible{outline:2px solid var(--fm-gold);outline-offset:5px}
.fm-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fm-news-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--fm-border);border-radius:12px;background:#191e29;transition:transform .2s,border-color .2s}
.fm-news-card:hover{transform:translateY(-3px);border-color:rgba(230,172,56,.4)}
.fm-news-cover{display:block;aspect-ratio:16/10;overflow:hidden;background:#202633;text-decoration:none}
.fm-news-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.fm-news-card:hover .fm-news-cover img{transform:scale(1.035)}
.fm-news-cover-fallback{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--fm-gold);background:linear-gradient(135deg,#252b39,#171c27)}
.fm-news-cover-fallback>span{font-size:26px;font-weight:700;letter-spacing:.12em}
.fm-news-cover-fallback>small{font-size:10px;letter-spacing:.22em;color:#9ba3b4}
.fm-news-card-body{display:flex;flex-direction:column;flex:1;padding:24px}
.fm-news-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:15px;font-size:12px;color:var(--fm-muted)}
.fm-news-meta>span{color:var(--fm-gold)}
.fm-news-card h3{font-size:20px;line-height:1.55;font-weight:600;margin:0 0 13px;overflow-wrap:anywhere}
.fm-news-card h3 a{color:#f1f3f7;text-decoration:none}
.fm-news-card h3 a:hover{color:var(--fm-gold)}
.fm-news-excerpt{font-size:14px;line-height:1.85;color:var(--fm-muted);margin:0 0 22px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
.fm-news-read{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:18px;border-top:1px solid var(--fm-border);font-size:13px;color:var(--fm-gold);text-decoration:none}
.fm-news-state{min-height:220px;padding:45px 24px;border:1px solid var(--fm-border);border-radius:12px;background:linear-gradient(130deg,rgba(230,172,56,.035),rgba(25,30,41,.8));text-align:center;color:var(--fm-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px}
.fm-news-state h3{font-size:23px;font-weight:600;color:#eff1f5;margin:0}
.fm-news-state p{margin:0;line-height:1.8;font-size:15px}
.fm-news-state .fm-news-button{margin-top:7px}
.fm-news-empty-mark{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:4px;border-radius:13px;background:rgba(230,172,56,.1);color:var(--fm-gold);font-size:17px;font-weight:700;letter-spacing:.06em}
.fm-news-spinner{display:inline-block;width:24px;height:24px;border:2px solid var(--fm-border);border-top-color:var(--fm-gold);border-radius:50%;animation:fm-news-spin .8s linear infinite}
@keyframes fm-news-spin{to{transform:rotate(360deg)}}
.fm-news-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:11px;margin:0 0 42px;font-size:13px;line-height:1.7;color:var(--fm-muted)}
.fm-news-breadcrumb a{color:var(--fm-muted);text-decoration:none}
.fm-news-breadcrumb a:hover{color:var(--fm-gold)}
.fm-news-page-heading{margin:0 0 42px}
.fm-news-pagination{display:flex;justify-content:center;align-items:center;gap:22px;margin-top:42px;font-size:14px;color:var(--fm-muted)}
.fm-news-button-disabled{opacity:.35;cursor:default;background:transparent;color:var(--fm-muted);border-color:var(--fm-border)}
.fm-news-article{max-width:900px;margin:0 auto}
.fm-news-article-heading{padding:0 0 30px;margin-bottom:28px;border-bottom:1px solid var(--fm-border)}
.fm-news-article-heading h1{font-size:clamp(28px,4vw,44px);font-weight:700;line-height:1.4;letter-spacing:-.02em;margin:0 0 22px;overflow-wrap:anywhere}
.fm-news-article-heading time{font-size:14px;color:var(--fm-muted)}
.fm-news-article-cover{width:100%;max-height:560px;object-fit:contain;margin:0 auto 34px;border-radius:10px;background:#191e29}
.fm-news-article-body{font-size:17px;line-height:1.95;color:#d9dfe8;overflow-wrap:anywhere}
.fm-news-article-body p,.fm-news-article-body figure,.fm-news-article-body ul,.fm-news-article-body ol,.fm-news-article-body blockquote,.fm-news-article-body pre{margin:0 0 1.4em}
.fm-news-article-body h1,.fm-news-article-body h2,.fm-news-article-body h3,.fm-news-article-body h4{margin:1.6em 0 .7em;color:#f3f5f8;font-weight:700;line-height:1.5}
.fm-news-article-body h1,.fm-news-article-body h2{font-size:1.5em}.fm-news-article-body h3{font-size:1.25em}
.fm-news-article-body img{max-width:100%;height:auto;display:block;margin:1.5em auto;border-radius:8px}
.fm-news-article-body figcaption{font-size:13px;color:var(--fm-muted);text-align:center;margin-top:.5em}
.fm-news-article-body ul{list-style:disc;padding-left:1.6em}.fm-news-article-body ol{list-style:decimal;padding-left:1.6em}
.fm-news-article-body li{margin:.35em 0}.fm-news-article-body a{color:var(--fm-gold);text-decoration:underline;text-underline-offset:4px}
.fm-news-article-body blockquote{padding:16px 24px;border-left:3px solid var(--fm-gold);background:#191e29;color:#bec6d3}
.fm-news-article-body pre{overflow:auto;padding:18px;background:#191e29;border-radius:8px;font-size:14px;line-height:1.65}
.fm-news-article-body code{font-family:ui-monospace,monospace}.fm-news-article-body hr{border:0;border-top:1px solid var(--fm-border);margin:2em 0}
.fm-news-article-body table{display:block;max-width:100%;width:max-content;overflow-x:auto;border-collapse:collapse;margin:1.5em 0;font-size:15px}
.fm-news-article-body th,.fm-news-article-body td{padding:10px 15px;border:1px solid var(--fm-border);text-align:left}.fm-news-article-body th{background:#202633;color:#f1f3f7}
.fm-news-article-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-top:44px;padding-top:28px;border-top:1px solid var(--fm-border)}
@media(max-width:1000px){.fm-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.fm-news-section{padding:60px 0}.fm-news-page{padding:28px 0 60px}.fm-news-wrap{padding:0 16px}.fm-news-heading-row{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:26px}.fm-news-grid{grid-template-columns:1fr;gap:20px}.fm-news-card-body{padding:21px}.fm-news-breadcrumb{margin-bottom:28px}.fm-news-page-heading{margin-bottom:30px}.fm-news-article-body{font-size:16px}.fm-news-pagination{gap:12px;font-size:12px}.fm-news-pagination .fm-news-button{padding:10px 13px}.fm-news-state{padding:35px 20px}}
@media(prefers-reduced-motion:reduce){.fm-news-card,.fm-news-cover img,.fm-news-button{transition:none}.fm-news-card:hover{transform:none}.fm-news-spinner{animation:none}}

/* Scoped to the homepage hero; image always remains in normal document flow. */
#hero.fm-hero-with-process .fm-hero-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 40px;
}
#hero .fm-hero-copy { min-width: 0; }
#hero .fm-hero-copy h1 { display:block; font-size:clamp(38px,3.33vw,48px); line-height:1.35; }
#hero .fm-hero-title-first,#hero .fm-hero-title-rest { display:block; }
#hero .fm-hero-title-rest>span { display:inline-block; }
#hero .fm-hero-copy h1>span:last-child { vertical-align:middle; }
#hero .fm-hero-process {
  width: 100%;
  max-width: 650px;
  min-width: 0;
  margin: 0;
  padding: 7px 7px 0;
  overflow: hidden;
  border: 1px solid rgba(230, 172, 56, .25);
  border-radius: 16px;
  background: rgba(20, 24, 34, .94);
  box-shadow: 0 18px 56px rgba(0, 0, 0, .28);
}
#hero .fm-hero-process-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2848 / 1600;
  object-fit: contain;
  border-radius: 10px;
}
#hero .fm-hero-process-caption {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 17px 0 18px;
  color: #f3f1ea;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
}
#hero .fm-hero-process-caption > span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 0;
  white-space: nowrap;
}
#hero .fm-hero-process-caption b {
  color: #e6ac38;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .04em;
}
#hero .fm-hero-process-caption > span + span::before {
  content: "→";
  position: absolute;
  left: 0;
  color: #e6ac38;
  font-size: 13px;
  transform: translateX(-50%);
}
@media (min-width: 1100px) {
  #hero.fm-hero-with-process .fm-hero-content {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    align-items: end;
    gap: 42px;
  }
  #hero .fm-hero-copy { max-width: none; }
  #hero .fm-hero-process { justify-self: end; }
}
@media (max-width: 767px) {
  #hero.fm-hero-with-process .fm-hero-content {
    padding-top: 72px;
    padding-bottom: 88px;
    gap: 34px;
  }
  #hero .fm-hero-process { border-radius: 12px; padding: 5px 5px 0; }
  #hero .fm-hero-copy h1 { font-size:36px; }
  #hero .fm-hero-process-image { border-radius: 7px; }
  #hero .fm-hero-process-caption { padding: 14px 0 15px; font-size: 12px; }
  #hero .fm-hero-process-caption > span { gap: 4px; }
  #hero .fm-hero-process-caption b { font-size: 9px; }
}
@media (max-width: 359px) {
  #hero .fm-hero-copy h1 { font-size:32px; }
  #hero .fm-hero-process-caption { font-size: 11px; }
  #hero .fm-hero-process-caption b { display: none; }
}
