/* Start custom CSS for html, class: .elementor-element-78c5db9 */.em-fw {
  --fw-accent:#f59e0b;
  --fw-accent-dark:#b45309;
  --fw-ink:#111827;
  --fw-text:#374151;
  --fw-muted:#64748b;
  --fw-border:#e5e7eb;
  --fw-soft:#f8fafc;
  --fw-accent-soft:#fff7ed;
  --fw-warn-soft:#fff1f2;
  --fw-warn:#be123c;
  --fw-green:#15803d;
  --fw-green-soft:#f0fdf4;
  --fw-blue-soft:#eff6ff;
  --fw-dark:#0f172a;
  --fw-code:#0b1220;
  max-width:1120px;
  margin:0 auto;
  color:var(--fw-text);
  font-size:17px;
  line-height:1.72;
}
.em-fw *, .em-fw *::before, .em-fw *::after { box-sizing:border-box; }
.em-fw a { color:var(--fw-accent-dark); text-decoration-thickness:1px; text-underline-offset:3px; }
.em-fw a:hover { text-decoration-thickness:2px; }
.em-fw h1,.em-fw h2,.em-fw h3 { color:var(--fw-ink); line-height:1.2; letter-spacing:-.02em; }
.em-fw h1 { margin:12px 0 18px; font-size:clamp(34px,5vw,58px); }
.em-fw h2 { margin:0 0 18px; font-size:clamp(27px,3.4vw,38px); }
.em-fw h3 { margin:30px 0 12px; font-size:clamp(21px,2.5vw,26px); }
.em-fw p { margin:0 0 18px; }
.em-fw ul { margin:16px 0 0; padding-left:1.2em; }
.em-fw li { margin:8px 0; }
.em-fw code { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.em-fw section {
  margin:34px 0;
  padding:34px;
  border:1px solid var(--fw-border);
  border-radius:22px;
  background:#fff;
  box-shadow:0 14px 38px rgba(15,23,42,.05);
  scroll-margin-top:90px;
}
.em-fw__hero {
  position:relative;
  overflow:hidden;
  padding:clamp(34px,6vw,70px);
  border-radius:28px;
  background:
    radial-gradient(circle at 88% 18%,rgba(245,158,11,.28),transparent 28%),
    linear-gradient(135deg,#0f172a 0%,#172033 55%,#111827 100%);
  color:#e5e7eb;
}
.em-fw__hero::after {
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  right:-150px;
  bottom:-165px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
}
.em-fw__hero h1 { max-width:980px; color:#fff; }
.em-fw__lead { max-width:930px; margin-bottom:26px; font-size:clamp(18px,2.2vw,22px); color:#d1d5db; }
.em-fw__eyebrow,.em-fw__section-label {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.em-fw__eyebrow { color:#fbbf24; }
.em-fw__section-label { margin-bottom:10px; color:var(--fw-accent-dark); }
.em-fw__chips { display:flex; flex-wrap:wrap; gap:9px; }
.em-fw__chips span {
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#f8fafc;
  font-size:13px;
  line-height:1.2;
}
.em-fw__summary {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:18px 0 26px;
}
.em-fw__summary-card {
  padding:20px;
  border:1px solid var(--fw-border);
  border-radius:18px;
  background:#fff;
}
.em-fw__summary-card strong { display:block; margin-bottom:6px; color:var(--fw-ink); font-size:22px; }
.em-fw__summary-card p { margin:0; color:var(--fw-muted); font-size:15px; line-height:1.55; }
.em-fw__toc {
  margin:26px 0 34px;
  padding:24px;
  border:1px solid var(--fw-border);
  border-radius:20px;
  background:var(--fw-soft);
}
.em-fw__toc>strong { display:block; margin-bottom:14px; color:var(--fw-ink); font-size:18px; }
.em-fw__toc-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 18px; }
.em-fw__toc-grid a { font-size:15px; }
.em-fw__flow {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:22px 0;
  padding:18px;
  overflow-x:auto;
  border:1px solid var(--fw-border);
  border-radius:16px;
  background:var(--fw-soft);
  white-space:nowrap;
}
.em-fw__flow span {
  padding:8px 12px;
  border-radius:10px;
  background:#fff;
  color:var(--fw-ink);
  font-weight:700;
}
.em-fw__flow b { color:var(--fw-accent-dark); }
.em-fw__flow--wide span { font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:14px; }
.em-fw__note,.em-fw__warning { margin:22px 0; padding:20px 22px; border-radius:16px; }
.em-fw__note { border-left:4px solid var(--fw-accent); background:var(--fw-accent-soft); }
.em-fw__warning { border:1px solid #fecdd3; background:var(--fw-warn-soft); }
.em-fw__warning strong { color:var(--fw-warn); }
.em-fw__warning p:last-child,.em-fw__note p:last-child { margin-bottom:0; }
.em-fw__table-wrap { margin:20px 0; overflow-x:auto; border:1px solid var(--fw-border); border-radius:16px; }
.em-fw__table { width:100%; min-width:720px; border-collapse:collapse; background:#fff; }
.em-fw__table th,.em-fw__table td { padding:14px 16px; border-bottom:1px solid var(--fw-border); vertical-align:top; text-align:left; }
.em-fw__table th { background:var(--fw-soft); color:var(--fw-ink); font-size:14px; line-height:1.4; }
.em-fw__table tr:last-child td { border-bottom:0; }
.em-fw__example {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:20px 0;
}
.em-fw__example>div {
  display:flex;
  flex-direction:column;
  gap:7px;
  padding:17px;
  border:1px solid var(--fw-border);
  border-radius:14px;
  background:var(--fw-soft);
}
.em-fw__example strong { color:var(--fw-ink); }
.em-fw__example code { color:var(--fw-accent-dark); font-weight:800; word-break:break-word; }
.em-fw__conn { display:grid; gap:10px; margin:20px 0; }
.em-fw__conn>div {
  display:grid;
  grid-template-columns:170px 1fr;
  gap:14px;
  padding:14px 16px;
  border:1px solid var(--fw-border);
  border-radius:14px;
  background:var(--fw-soft);
}
.em-fw__conn span { color:var(--fw-muted); font-weight:700; }
.em-fw__conn code { overflow-wrap:anywhere; color:var(--fw-ink); }
.em-fw__compare {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:20px 0;
}
.em-fw__compare>div { padding:20px; border:1px solid var(--fw-border); border-radius:16px; background:var(--fw-soft); }
.em-fw__compare strong { display:block; margin-bottom:8px; color:var(--fw-ink); font-size:18px; }
.em-fw__compare p { margin:0; }
.em-fw__rules { display:grid; gap:9px; margin:22px 0; }
.em-fw__rule {
  display:grid;
  grid-template-columns:38px 1fr;
  gap:10px;
  align-items:center;
  padding:13px 15px;
  border:1px solid var(--fw-border);
  border-radius:13px;
  background:var(--fw-soft);
}
.em-fw__rule span {
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:9px;
  background:var(--fw-dark);
  color:#fff;
  font-weight:800;
}
.em-fw__rule--good { border-color:#bbf7d0; background:var(--fw-green-soft); }
.em-fw__rule--drop { border-color:#fecdd3; background:var(--fw-warn-soft); }
.em-fw__matrix {
  display:grid;
  gap:0;
  margin:20px 0;
  overflow:hidden;
  border:1px solid var(--fw-border);
  border-radius:16px;
}
.em-fw__matrix>div {
  display:grid;
  grid-template-columns:1fr 1fr 140px;
  border-bottom:1px solid var(--fw-border);
}
.em-fw__matrix>div:last-child { border-bottom:0; }
.em-fw__matrix span,.em-fw__matrix strong { padding:12px 14px; }
.em-fw__matrix-head { background:var(--fw-soft); color:var(--fw-ink); font-weight:800; }
.em-fw__ok { color:var(--fw-green); }
.em-fw__no { color:var(--fw-warn); }
.em-fw__maybe { color:var(--fw-accent-dark); }
.em-fw__code {
  margin:14px 0 16px;
  padding:16px 18px;
  overflow-x:auto;
  border-radius:14px;
  background:var(--fw-code);
  color:#f8fafc;
}
.em-fw__code code { display:block; color:inherit; white-space:pre; }
.em-fw__checklist,.em-fw__steps { display:grid; gap:12px; margin:22px 0; }
.em-fw__checklist>div,.em-fw__steps>div {
  display:grid;
  grid-template-columns:54px 1fr;
  gap:16px;
  align-items:start;
  padding:18px;
  border:1px solid var(--fw-border);
  border-radius:16px;
  background:var(--fw-soft);
}
.em-fw__checklist>div>span,.em-fw__steps>div>span {
  display:grid;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:12px;
  background:var(--fw-dark);
  color:#fff;
  font-weight:800;
}
.em-fw__checklist p,.em-fw__steps p { margin:4px 0 0; }
.em-fw__cards {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin:20px 0;
}
.em-fw__card { padding:20px; border:1px solid var(--fw-border); border-radius:16px; background:var(--fw-soft); }
.em-fw__card strong { display:block; margin-bottom:8px; color:var(--fw-ink); font-size:18px; }
.em-fw__card p { margin:0; }
.em-fw__mistakes { columns:2; column-gap:34px; }
.em-fw__mistakes li { break-inside:avoid; margin-bottom:10px; }
.em-fw__policy {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:20px 0;
}
.em-fw__policy>div {
  position:relative;
  padding:20px;
  border:1px solid var(--fw-border);
  border-radius:16px;
  background:var(--fw-soft);
}
.em-fw__policy>div>span {
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  margin-bottom:10px;
  border-radius:10px;
  background:var(--fw-dark);
  color:#fff;
  font-weight:800;
}
.em-fw__policy strong { display:block; margin-bottom:6px; color:var(--fw-ink); }
.em-fw__policy p { margin:0; font-size:15px; }
.em-fw__links-grid,.em-fw__refs {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:18px 0;
}
.em-fw__links-grid a,.em-fw__refs>div {
  display:block;
  padding:18px;
  border:1px solid var(--fw-border);
  border-radius:16px;
  background:var(--fw-soft);
}
.em-fw__links-grid a { text-decoration:none; }
.em-fw__links-grid a:hover { border-color:#fcd34d; background:var(--fw-accent-soft); }
.em-fw__links-grid strong,.em-fw__refs strong { display:block; margin-bottom:6px; color:var(--fw-ink); font-size:18px; }
.em-fw__links-grid span { display:block; color:var(--fw-muted); font-size:15px; line-height:1.55; }
.em-fw__refs p { margin:0; font-size:15px; }
.em-fw__faq { display:grid; gap:10px; }
.em-fw__faq details { border:1px solid var(--fw-border); border-radius:14px; background:var(--fw-soft); }
.em-fw__faq summary { padding:16px 18px; cursor:pointer; color:var(--fw-ink); font-weight:750; }
.em-fw__faq details p { padding:0 18px 16px; margin:0; }
.em-fw__cta {
  background:radial-gradient(circle at 92% 12%,rgba(245,158,11,.14),transparent 30%),#fff !important;
}

@media (max-width:900px) {
  .em-fw__toc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .em-fw__summary { grid-template-columns:1fr; }
  .em-fw__example { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .em-fw__policy { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .em-fw { font-size:16px; line-height:1.66; }
  .em-fw section { margin:24px 0; padding:22px 18px; border-radius:18px; }
  .em-fw__hero { padding:30px 20px; border-radius:22px; }
  .em-fw__toc { padding:20px 18px; }
  .em-fw__toc-grid,.em-fw__cards,.em-fw__compare,.em-fw__links-grid,.em-fw__refs,.em-fw__policy { grid-template-columns:1fr; }
  .em-fw__flow { justify-content:flex-start; }
  .em-fw__example { grid-template-columns:1fr; }
  .em-fw__conn>div { grid-template-columns:1fr; gap:4px; }
  .em-fw__matrix { overflow-x:auto; }
  .em-fw__matrix>div { min-width:620px; }
  .em-fw__checklist>div,.em-fw__steps>div { grid-template-columns:44px 1fr; gap:12px; padding:14px; }
  .em-fw__checklist>div>span,.em-fw__steps>div>span { width:36px; height:36px; }
  .em-fw__mistakes { columns:1; }
  .em-fw__table { min-width:680px; }
}
@media (max-width:430px) {
  .em-fw h1 { font-size:33px; }
  .em-fw h2 { font-size:27px; }
  .em-fw__chips span { font-size:12px; }
}/* End custom CSS */