/* Generated from styles-sf.css, styles-sfp.css */

.fm .sf-hero { position: relative;
  padding: 140px var(--gutter) 80px;
  background:
    radial-gradient(circle at 80% 30%, rgba(224,127,38,.10) 0%, transparent 50%),
    var(--bg-deep);
  border-bottom: 1px solid var(--line);
  overflow: hidden; }
.fm .sf-hero::before { content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(circle at 60% 50%, black 0%, transparent 70%);
  pointer-events: none; }
.fm .sf-hero-inner { position: relative;
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 80px;
  align-items: end;
  max-width: 1440px;
  margin: 0 auto; }
.fm .sf-crumb { font-family: var(--ff-mono);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: 32px;
  display: flex; align-items: center; gap: 12px; }
.fm .sf-crumb a { color: var(--text-muted); }
.fm .sf-crumb a:hover { color: var(--accent); }
.fm .sf-hero h1 { font-size: clamp(48px, 7vw, 112px);
  font-weight: 900;
  line-height: .95;
  letter-spacing: -.035em;
  margin: 0; }
.fm .sf-hero h1 mark { background: transparent;
  color: var(--accent); }
.fm .sf-hero .sub { font-size: clamp(17px, 1.4vw, 22px);
  line-height: 1.5;
  color: var(--text-muted);
  margin: 28px 0 0;
  max-width: 640px;
  text-wrap: pretty; }
.fm .sf-hero-actions { display: flex; flex-wrap: wrap; gap: 14px;
  margin-top: 36px; }
.fm .sf-hero-side { display: flex; flex-direction: column;
  gap: 16px;
  padding-bottom: 8px; }
.fm .sf-brand-card { background: var(--surface);
  border: 1px solid var(--line);
  padding: 20px 24px;
  border-radius: var(--r-md); }
.fm .sf-brand-card .pill { display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--ff-mono);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent); }
.fm .sf-brand-card .pill::before { content: "";
  width: 6px; height: 6px;
  background: var(--accent);
  display: inline-block; }
.fm .sf-brand-card h4 { font-family: var(--ff-display);
  font-size: 32px;
  font-weight: 900;
  letter-spacing: -.02em;
  margin: 10px 0 6px; }
.fm .sf-brand-card .tagline { font-style: italic;
  color: var(--text-muted);
  font-size: 14px; }
.fm .sf-cert-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  margin-top: 8px; }
.fm .sf-cert-list > div { padding: 16px 18px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--surface); }
.fm .sf-cert-list .code { font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 900;
  color: var(--accent);
  letter-spacing: -.01em;
  line-height: 1;
  margin-bottom: 6px; }
.fm .sf-cert-list .lbl { font-family: var(--ff-mono);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-dim); }
@media (max-width: 900px) {
  .fm .sf-hero-inner { grid-template-columns: 1fr; gap: 40px; }
}
.fm .sf-flow { background: var(--bg);
  position: relative; }
.fm .sf-flow-head { display: grid; grid-template-columns: 1fr 1fr;
  gap: 60px; align-items: end;
  margin-bottom: 64px; }
.fm .sf-flow-diagram { position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line); }
.fm .sf-flow-step { position: relative;
  padding: 48px 36px;
  border-right: 1px solid var(--line-soft);
  display: flex; flex-direction: column;
  min-height: 360px;
  background: var(--surface);
  transition: background .35s var(--ease); }
.fm .sf-flow-step:last-child { border-right: none; }
.fm .sf-flow-step:hover { background: var(--surface-2); }
.fm .sf-flow-step:hover .sf-flow-num { color: var(--accent); }
.fm .sf-flow-step:hover .sf-flow-icon-wrap { border-color: var(--accent); }
.fm .sf-flow-num { font-family: var(--ff-mono);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-dim);
  transition: color .35s var(--ease); }
.fm .sf-flow-icon-wrap { width: 96px; height: 96px;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  margin: 28px 0 28px;
  display: grid; place-items: center;
  position: relative;
  background: var(--bg);
  transition: border-color .35s var(--ease); }
.fm .sf-flow-icon-wrap::before { content: "";
  position: absolute;
  top: -1px; left: -1px;
  width: 12px; height: 12px;
  border-top: 2px solid var(--accent);
  border-left: 2px solid var(--accent); }
.fm .sf-flow-icon-wrap::after { content: "";
  position: absolute;
  bottom: -1px; right: -1px;
  width: 12px; height: 12px;
  border-bottom: 2px solid var(--accent);
  border-right: 2px solid var(--accent); }
.fm .sf-flow-icon-wrap svg { width: 48px; height: 48px;
  color: var(--text); }
.fm .sf-flow-step h3 { font-size: 30px;
  font-weight: 800;
  letter-spacing: -.02em;
  margin: 0 0 14px; }
.fm .sf-flow-step .body { font-size: 15px;
  line-height: 1.5;
  color: var(--text-muted);
  margin: 0 0 24px;
  flex: 1; }
.fm .sf-flow-tags { display: flex; flex-wrap: wrap; gap: 6px;
  padding-top: 20px;
  border-top: 1px dashed var(--line-soft); }
.fm .sf-flow-step:not(:last-child)::after { content: "→";
  position: absolute;
  right: -10px; top: 84px;
  z-index: 2;
  width: 22px; height: 22px;
  background: var(--accent);
  color: var(--accent-ink);
  font-weight: 900;
  display: grid; place-items: center;
  font-size: 12px;
  border-radius: 50%;
  font-family: var(--ff-mono); }
@media (max-width: 1000px) {
  .fm .sf-flow-head { grid-template-columns: 1fr; gap: 28px; }
  .fm .sf-flow-diagram { grid-template-columns: 1fr; border-bottom: none; }
  .fm .sf-flow-step { border-right: none; border-bottom: 1px solid var(--line); min-height: 0; }
  .fm .sf-flow-step:not(:last-child)::after { right: auto; left: 84px; top: auto; bottom: -10px;
    transform: rotate(90deg); }
}
.fm .sf-prob { background: var(--bg-deep);
  border-top: 1px solid var(--line); }
.fm .sf-prob-inner { display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 80px;
  align-items: start; }
.fm .sf-prob h2 { font-size: clamp(32px, 4.5vw, 60px);
  font-weight: 800;
  letter-spacing: -.025em;
  margin: 28px 0 0; }
.fm .sf-prob h2 mark { background: transparent;
  color: var(--accent); }
.fm .sf-prob-body { font-size: 17px;
  line-height: 1.55;
  color: var(--text-muted);
  margin: 32px 0;
  text-wrap: pretty; }
.fm .sf-prob-list { list-style: none; margin: 0; padding: 0;
  background: var(--surface);
  border: 1px solid var(--line); }
.fm .sf-prob-list :is(li,.fm-tag-li) { display: flex; gap: 16px; align-items: flex-start;
  padding: 20px 22px;
  border-bottom: 1px solid var(--line-soft);
  font-size: 14px;
  line-height: 1.5;
  color: var(--text); }
.fm .sf-prob-list :is(li,.fm-tag-li):last-child { border-bottom: none; }
.fm .sf-prob-list .err { font-family: var(--ff-mono);
  font-size: 12px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #e57777;
  flex-shrink: 0;
  padding-top: 2px; }
@media (max-width: 900px) {
  .fm .sf-prob-inner { grid-template-columns: 1fr; gap: 40px; }
}
.fm .sf-apps { background: var(--bg); }
.fm .sf-apps-grid { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line); }
.fm .sf-app { padding: 36px 32px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  display: flex; flex-direction: column;
  min-height: 200px;
  transition: background .3s var(--ease); }
.fm .sf-app:hover { background: var(--surface-2); }
.fm .sf-app .idx { font-family: var(--ff-mono);
  font-size: 12px;
  letter-spacing: .12em;
  color: var(--text-dim);
  margin-bottom: 18px; }
.fm .sf-app h4 { font-size: 22px;
  font-weight: 700;
  letter-spacing: -.01em;
  margin: 0 0 12px;
  line-height: 1.2; }
.fm .sf-app p { font-size: 14px; line-height: 1.5;
  color: var(--text-muted);
  margin: 0; }
@media (max-width: 700px) {
  .fm .sf-apps-grid { grid-template-columns: 1fr; }
}
.fm .sf-prods { background: var(--bg-deep);
  border-top: 1px solid var(--line); }
.fm .sf-prods-grid { display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line); }
.fm .sf-prod { background: var(--surface);
  padding: 32px 24px;
  display: flex; flex-direction: column;
  min-height: 240px;
  transition: background .3s var(--ease);
  position: relative;
  overflow: hidden; }
.fm .sf-prod:hover { background: var(--surface-2); }
.fm .sf-prod-cat { font-family: var(--ff-mono);
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 24px; }
.fm .sf-prod h4 { font-family: var(--ff-display);
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -.02em;
  margin: 0 0 10px;
  line-height: 1; }
.fm .sf-prod h4 small { display: block;
  font-size: 12px;
  font-weight: 500;
  font-family: var(--ff-mono);
  letter-spacing: .14em;
  color: var(--text-dim);
  margin-top: 6px; }
.fm .sf-prod p { font-size: 14px;
  line-height: 1.5;
  color: var(--text-muted);
  margin: 16px 0 0; }
.fm .sf-prod-glyph { position: absolute;
  top: 20px; right: -10px;
  font-family: var(--ff-display);
  font-size: 140px;
  font-weight: 900;
  color: var(--text);
  opacity: .05;
  letter-spacing: -.05em;
  line-height: 1;
  pointer-events: none; }
@media (max-width: 1000px) {
  .fm .sf-prods-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .fm .sf-prods-grid { grid-template-columns: 1fr; }
}
.fm .sf-norms { background: var(--bg); }
.fm .sf-norms-grid { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
  margin-top: 8px; }
.fm .sf-norm { background: var(--surface);
  padding: 28px 32px;
  display: flex;
  gap: 24px;
  align-items: flex-start; }
.fm .sf-norm .code { font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 800;
  color: var(--accent);
  letter-spacing: -.01em;
  flex-shrink: 0;
  min-width: 140px; }
.fm .sf-norm .desc { font-size: 14px;
  line-height: 1.5;
  color: var(--text-muted); }
@media (max-width: 700px) {
  .fm .sf-norms-grid { grid-template-columns: 1fr; }
  .fm .sf-norm { flex-direction: column; gap: 10px; }
}
.fm .sf-cta { background: var(--bg-deep);
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--line); }
.fm .sf-cta::before { content: "";
  position: absolute; inset: 0;
  background-image:
    radial-gradient(circle at 30% 50%, rgba(224,127,38,.14) 0%, transparent 60%);
  pointer-events: none; }
.fm .sf-cta-inner { position: relative;
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 60px;
  align-items: center; }
.fm .sf-cta h2 { font-size: clamp(40px, 5.5vw, 80px);
  font-weight: 900;
  line-height: .98;
  letter-spacing: -.03em;
  margin: 0; }
.fm .sf-cta h2 mark { background: transparent;
  color: var(--accent); }
.fm .sf-cta .sub { font-size: 17px;
  line-height: 1.55;
  color: var(--text-muted);
  margin: 28px 0;
  max-width: 580px; }
.fm .sf-cta-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.fm .sf-cta-side { display: flex; flex-direction: column; gap: 12px;
  background: var(--surface);
  border: 1px solid var(--line);
  padding: 28px;
  border-radius: var(--r-md); }
.fm .sf-cta-side .step { display: flex; gap: 14px; align-items: flex-start;
  padding: 14px 0;
  border-bottom: 1px dashed var(--line-soft); }
.fm .sf-cta-side .step:last-child { border-bottom: none; }
.fm .sf-cta-side .step .n { font-family: var(--ff-mono);
  font-size: 12px;
  letter-spacing: .12em;
  color: var(--accent);
  min-width: 28px; }
.fm .sf-cta-side .step .t { font-size: 14px;
  color: var(--text);
  font-weight: 600; }
.fm .sf-cta-side .step .t small { display: block;
  font-weight: 400;
  color: var(--text-muted);
  font-size: 12px;
  margin-top: 2px; }
@media (max-width: 900px) {
  .fm .sf-cta-inner { grid-template-columns: 1fr; }
}
.fm .sol-gallery { padding-top: 0; }
.fm .sol-gallery-grid { display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px; }
.fm .sol-shot { display: flex;
  flex-direction: column;
  gap: 14px; }
.fm .sol-shot-img, .fm .sol-shot :is(image-slot,.fm-slot img) { display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: var(--r-md);
  overflow: hidden;
  border: 1px solid var(--line);
  background: var(--surface-2); }
.fm .sol-shot-img img { width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(.1) contrast(1.02); }
.fm .sol-shot-slot :is(image-slot,.fm-slot img) { border-style: dashed;
  border-color: var(--line); }
.fm .sol-shot figcaption { display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: var(--text-muted);
  line-height: 1.4; }
.fm .tag-illus, .fm .tag-slot { flex-shrink: 0;
  font-family: var(--ff-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 4px 9px;
  border-radius: var(--r-sm); }
.fm .tag-illus { color: var(--text-dim);
  border: 1px solid var(--line);
  background: var(--surface-2); }
.fm .tag-slot { color: var(--accent-ink);
  background: var(--accent); }
@media (max-width: 760px) {
  .fm .sol-gallery-grid { grid-template-columns: 1fr; }
}
:where(html)[data-theme="light"] .fm .sol-shot-img img { filter: grayscale(.05) brightness(1.02) contrast(1.02) !important; }
:where(html)[data-theme="light"] .fm .sf-hero h1 mark, :where(html)[data-theme="light"] .fm .sf-prob h2 mark, :where(html)[data-theme="light"] .fm .sf-cta h2 mark, :where(html)[data-theme="light"] .fm .sf-flow h2 :is(span,.fm-tag-span), :where(html)[data-theme="light"] .fm .sf-prods h2 :is(span,.fm-tag-span), :where(html)[data-theme="light"] .fm .sf-norms h2 :is(span,.fm-tag-span) { color: var(--accent-text) !important;
  background: transparent !important; }
:where(html)[data-theme="light"] .fm .sf-cert-list .code, :where(html)[data-theme="light"] .fm .sf-brand-card .pill, :where(html)[data-theme="light"] .fm .sf-prod-cat, :where(html)[data-theme="light"] .fm .sf-norm .code, :where(html)[data-theme="light"] .fm .sf-cta-side .step .n, :where(html)[data-theme="light"] .fm .sf-flow-step:hover .sf-flow-num { color: var(--accent-text) !important; }
:where(html)[data-theme="light"] .fm .sf-brand-card .pill::before { background: var(--accent-text) !important; }
:where(html)[data-theme="light"] .fm .tag-accent { color: var(--accent-text) !important;
  background: color-mix(in srgb, var(--accent-text) 12%, transparent) !important;
  border-color: color-mix(in srgb, var(--accent-text) 28%, transparent); }

.fm .sfp-hero { padding-bottom:96px }
.fm .sfp-hero-inner { position:relative;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:22px }
.fm .sfp-hero-inner .sf-crumb { margin-bottom:0 }
.fm .sfp-hero-inner h1 { margin:0;max-width:18ch;text-wrap:balance }
.fm .sf-hero.sfp-hero h1 { font-size:clamp(34px,4.4vw,56px);font-weight:800;line-height:1.1;letter-spacing:-.02em }
.fm .sfp-hero-inner .sub { margin:0;max-width:720px }
.fm .sfp-hero-inner .sf-hero-actions { margin-top:6px }
.fm .sfp-hero--img { isolation:isolate;background:#0B121A;border-bottom-color:#1A2B3A }
.fm .sfp-hero--img::before { display:none }
.fm .sfp-hero-bg { position:absolute;inset:0;z-index:-1;overflow:hidden }
.fm .sfp-hero-bg img { display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.75) }
.fm .sfp-hero-bg::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,18,26,.94) 0%,rgba(11,18,26,.86) 38%,rgba(11,18,26,.45) 70%,rgba(11,18,26,.3) 100%),linear-gradient(0deg,rgba(11,18,26,.55) 0%,transparent 35%) }
.fm .sfp-hero--img h1 { color:#F4F6F8 !important }
.fm .sf-hero.sfp-hero.sfp-hero--img h1 mark { color:#E07F26 !important;background:transparent !important }
.fm .sfp-hero--img .sub { color:rgba(244,246,248,.84) !important }
.fm .sfp-hero--img .sf-crumb, .fm .sfp-hero--img .sf-crumb a { color:rgba(244,246,248,.6) !important }
.fm .sfp-hero--img .sf-crumb :is(span,.fm-tag-span):last-child { color:#F4F6F8 !important }
.fm .sfp-hero--img .sfp-badges .tag { color:#F4F6F8 !important;background:rgba(15,26,38,.72) !important;border-color:rgba(244,246,248,.18) !important }
@media (max-width:900px) {
  .fm .sfp-hero-bg::after { background:linear-gradient(90deg,rgba(11,18,26,.92) 0%,rgba(11,18,26,.78) 100%) }
}
.fm .sfp-badges { display:flex;flex-wrap:wrap;gap:8px;align-self:stretch }
.fm .sfp-badges .tag { white-space:nowrap;text-transform:none;height:auto }
.fm .sfp-head { display:flex;flex-direction:column;gap:20px;margin-bottom:48px;max-width:860px }
.fm .sfp-head .h-1 { margin:0;text-wrap:balance }
.fm .sfp-prob { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px;align-items:end }
.fm .sfp-prob h2 { margin-top:20px }
.fm .sfp-prob .sf-prob-body { margin:0 }
.fm .sfp-fam { margin-top:24px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:12px }
.fm .sfp-fam-l { font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim) }
.fm .sfp-fam ul { list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px }
.fm .sfp-fam :is(li,.fm-tag-li) { display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;font-size:14px;line-height:1.4;color:var(--text) }
.fm .sfp-br { font-family:var(--ff-mono);font-size:11px;letter-spacing:.06em;color:var(--accent);padding-top:2px }
.fm .sfp-sel { background:var(--bg-deep);border-top:1px solid var(--line) }
.fm .sfp-table { border:1px solid var(--line);background:var(--surface) }
.fm .sfp-tr { display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) 80px minmax(0,1.3fr);gap:24px;padding:18px 24px;border-top:1px solid var(--line);align-items:baseline;font-size:15px;line-height:1.45 }
.fm .sfp-tr:first-child { border-top:0 }
.fm .sfp-tr:not(.sfp-th):hover { background:var(--surface-2) }
.fm .sfp-th { font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);padding-top:14px;padding-bottom:14px }
.fm .sfp-need { color:var(--text) }
.fm .sfp-famc { color:var(--text);font-weight:600 }
.fm .sfp-brandc { font-family:var(--ff-mono);font-size:12px;letter-spacing:.08em;color:var(--accent) }
.fm .sfp-key { font-family:var(--ff-mono);font-size:13px;color:var(--text-muted) }
.fm .sfp-sel-foot { display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:32px;font-size:17px;color:var(--text) }
.fm .sfp-app { display:flex;flex-direction:column;gap:0;text-decoration:none;color:inherit;transition:background .2s var(--ease) }
.fm .sfp-app:hover { background:var(--surface) }
.fm .sfp-app p { flex:1 }
.fm .sfp-see { display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-family:var(--ff-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent) }
.fm .sfp-brands { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px }
.fm .sfp-brand { background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:6px;padding:32px;display:flex;flex-direction:column;gap:24px }
.fm .sfp-brand-h { display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--line) }
.fm .sfp-brand-h h3 { margin:0;font-family:var(--ff-display);font-weight:800;font-size:28px;letter-spacing:.02em }
.fm .sfp-brand-h :is(span,.fm-tag-span) { display:block;margin-top:6px;font-size:14px;color:var(--text-muted) }
.fm .sfp-brand-link { display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);text-decoration:none;white-space:nowrap }
.fm .sfp-brand-link:hover { color:var(--text) }
.fm .sfp-brand ul { list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px }
.fm .sfp-brand :is(li,.fm-tag-li) { position:relative;padding-left:18px;font-size:15px;line-height:1.5;color:var(--text-muted);text-wrap:pretty }
.fm .sfp-brand :is(li,.fm-tag-li)::before { content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;background:var(--accent) }
.fm .sfp-brand :is(li,.fm-tag-li) strong { color:var(--text);font-weight:600 }
.fm .sfp-sect { background:var(--bg-deep);border-top:1px solid var(--line) }
.fm .sfp-sect-list { display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1px;background:var(--line);border:1px solid var(--line) }
.fm .sfp-sect-list a { display:flex;align-items:center;gap:16px;padding:22px 24px;background:var(--surface);color:var(--text);text-decoration:none;font-size:17px;font-weight:600;transition:background .2s var(--ease) }
.fm .sfp-sect-list a .n { font-family:var(--ff-mono);font-size:12px;color:var(--accent);font-weight:500 }
.fm .sfp-sect-list a .arrow { margin-left:auto;color:var(--accent) }
.fm .sfp-sect-list a:hover { background:var(--surface-2) }
@media (max-width:1000px) {
  .fm .sfp-prob { grid-template-columns:1fr;gap:28px }
  .fm .sfp-brands { grid-template-columns:1fr }
}
@media (max-width:900px) {
  .fm .sfp-th { display:none }
  .fm .sfp-tr { grid-template-columns:1fr;gap:6px;padding:20px }
  .fm .sfp-need { font-size:16px;font-weight:600;margin-bottom:6px }
  .fm .sfp-famc, .fm .sfp-brandc, .fm .sfp-key { display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px }
  .fm .sfp-famc::before, .fm .sfp-brandc::before, .fm .sfp-key::before { content:attr(data-l);font-family:var(--ff-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-weight:400;padding-top:3px }
}
@media (max-width:560px) {
  .fm .sfp-brand { padding:24px }
}
.fm .sf2-enf { background:var(--bg);padding:64px 0 }
.fm .sf2-enf-inner { display:grid;grid-template-columns:minmax(0,1.35fr) repeat(3,minmax(0,1fr));align-items:stretch;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line) }
.fm .sf2-enf-lead { padding-right:48px }
.fm .sf2-enf-lead p { margin:16px 0 0;font-family:var(--ff-body);font-weight:600;font-size:20px;line-height:1.45;color:var(--text);text-wrap:pretty }
.fm .sf2-enf-step { padding:0 24px;border-left:1px solid var(--line) }
.fm .sf2-enf-n { display:block;font-family:var(--ff-mono);font-size:13px;color:var(--accent);margin-bottom:12px }
.fm .sf2-enf-step h3 { margin:0 0 10px;font-family:var(--ff-display);font-weight:700;font-size:17px;line-height:1.3;color:var(--text) }
.fm .sf2-enf-step p { margin:0;font-size:15px;line-height:1.55;color:var(--text-muted);text-wrap:pretty }
.fm .sf2-sol { background:var(--bg-deep);border-top:1px solid var(--line) }
.fm .sf2-sol-list { border-top:1px solid var(--line) }
.fm .sf2-sol-item { display:grid;grid-template-columns:64px minmax(0,1.9fr) minmax(0,1fr);gap:40px;padding:40px 0;border-bottom:1px solid var(--line) }
.fm .sf2-sol-n { font-family:var(--ff-mono);font-size:13px;color:var(--accent);padding-top:6px }
.fm .sf2-sol-main h3 { margin:0 0 14px;font-family:var(--ff-display);font-weight:700;font-size:clamp(20px,1.8vw,24px);line-height:1.25;color:var(--text) }
.fm .sf2-sol-main p { margin:0;font-size:16px;line-height:1.6;color:var(--text-muted);text-wrap:pretty;max-width:68ch }
.fm .sf2-sol-meta { margin:0;display:flex;flex-direction:column;gap:20px;padding-top:6px }
.fm .sf2-sol-meta dt { font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px }
.fm .sf2-sol-meta dd { margin:0;display:flex;flex-wrap:wrap;gap:8px }
.fm .sf2-brands :is(span,.fm-tag-span) { font-family:var(--ff-display);font-weight:700;font-size:15px;letter-spacing:.04em;color:var(--text) }
.fm .sf2-brands :is(span,.fm-tag-span)+:is(span,.fm-tag-span)::before { content:"·";margin-right:8px;color:var(--text-dim) }
.fm .sf2-deliv { font-size:14px;line-height:1.5;color:var(--text);text-wrap:pretty }
.fm .sf2-norms .tag { text-transform:none;white-space:nowrap }
.fm .sf2-marcas { background:var(--bg-deep);border-top:1px solid var(--line) }
.fm .sf2-marcas-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px }
.fm .sf2-marca { display:flex;flex-direction:column;gap:12px;padding:32px;background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:6px;text-decoration:none;color:inherit;transition:background .2s var(--ease) }
.fm .sf2-marca:hover { background:var(--surface-2) }
.fm .sf2-marca h3 { margin:0;font-family:var(--ff-display);font-weight:800;font-size:28px;letter-spacing:.02em;color:var(--text) }
.fm .sf2-marca p { margin:0;flex:1;font-size:16px;line-height:1.55;color:var(--text-muted) }
.fm .sf2-marca .sfp-see { margin-top:8px }
.fm .sf2-marcas+.sfp-sect { background:var(--bg) }
@media (max-width:900px) {
  .fm .sf2-enf-inner { grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 0 }
  .fm .sf2-enf-lead { grid-column:1/-1;padding-right:0 }
  .fm .sf2-enf-step:nth-child(2) { border-left:0;padding-left:0 }
  .fm .sf2-sol-item { grid-template-columns:40px minmax(0,1fr);gap:16px 20px }
  .fm .sf2-sol-meta { grid-column:2;flex-direction:row;flex-wrap:wrap;gap:20px 40px }
}
@media (max-width:700px) {
  .fm .sf2-marcas-grid { grid-template-columns:1fr }
}
@media (max-width:560px) {
  .fm .sf2-sol-item { grid-template-columns:1fr }
  .fm .sf2-sol-meta { grid-column:1 }
  .fm .sf2-enf-inner { grid-template-columns:1fr;gap:24px }
  .fm .sf2-enf-step { border-left:0;padding:20px 0 0;border-top:1px solid var(--line) }
  .fm .sf2-enf-step:nth-child(2) { padding-left:0 }
}


