/* Start custom CSS for html, class: .elementor-element-840969f */.em-protocols-guide {
--pg-orange: #f4913e;
--pg-orange-dark: #dc7422;
--pg-blue: #3892fb;
--pg-blue-dark: #246fba;
--pg-ink: #263238;
--pg-text: #4f5b64;
--pg-line: #e7edf1;
--pg-soft: #f6f8fa;
--pg-orange-soft: #fff5ec;
--pg-blue-soft: #eef6ff;
color: var(--pg-text);
font-family: Montserrat, Arial, sans-serif;
font-size: 16px;
line-height: 1.72;
}

.em-protocols-guide *,
.em-protocols-guide *,
.em-protocols-guide * {
box-sizing: border-box;
}

.em-protocols-guide h1,
.em-protocols-guide h2,
.em-protocols-guide h3,
.em-protocols-guide h4 {
color: var(--pg-ink);
line-height: 1.25;
margin-top: 0;
}

.em-protocols-guide h1 {
max-width: 1100px;
margin-bottom: 22px;
font-family: "Montserrat Alternates", Montserrat, Arial, sans-serif;
font-size: clamp(32px, 5vw, 54px);
font-weight: 700;
letter-spacing: -0.02em;
}

.em-protocols-guide h2 {
margin-bottom: 18px;
font-size: clamp(26px, 3.5vw, 38px);
font-weight: 700;
letter-spacing: -0.015em;
}

.em-protocols-guide h3 {
margin-bottom: 10px;
font-size: 21px;
font-weight: 700;
}

.em-protocols-guide h4 {
margin-bottom: 10px;
font-size: 16px;
font-weight: 700;
}

.em-protocols-guide p {
margin-top: 0;
margin-bottom: 18px;
}

.em-protocols-guide a {
color: var(--pg-blue-dark);
text-underline-offset: 3px;
}

.em-protocols-guide a {
color: var(--pg-orange-dark);
}

.em-pg-hero,
.em-pg-toc,
.em-pg-section,
.em-pg-related,
.em-pg-cta,
.em-pg-sources {
width: 100%;
max-width: 1180px;
margin-right: auto;
margin-left: auto;
}

.em-pg-hero {
padding: clamp(30px, 5vw, 60px);
overflow: hidden;
background:
radial-gradient(circle at 92% 8%, rgba(56, 146, 251, 0.16), transparent 32%),
linear-gradient(135deg, #fff8f2 0%, #ffffff 58%, #f1f7ff 100%);
border: 1px solid #f0e5db;
border-radius: 22px;
box-shadow: 0 18px 48px rgba(38, 50, 56, 0.08);
}

.em-pg-kicker,
.em-pg-heading > span,
.em-pg-cta > div > span {
display: inline-block;
margin-bottom: 12px;
color: var(--pg-orange-dark);
font-size: 13px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.em-pg-lead {
max-width: 1030px;
color: #3d4850;
font-size: clamp(18px, 2.2vw, 22px);
line-height: 1.65;
}

.em-pg-summary {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 16px;
margin: 28px 0;
}

.em-pg-summary article {
padding: 22px;
background: #ffffff;
border: 1px solid var(--pg-line);
border-radius: 15px;
}

.em-pg-summary span {
display: block;
margin-bottom: 7px;
color: var(--pg-orange-dark);
font-size: 13px;
font-weight: 700;
}

.em-pg-summary strong {
display: block;
margin-bottom: 8px;
color: var(--pg-ink);
font-size: 17px;
line-height: 1.4;
}

.em-pg-summary p {
margin-bottom: 0;
font-size: 14px;
}

.em-pg-actions,
.em-pg-cta > div {
display: flex;
flex-wrap: wrap;
gap: 12px;
}

.em-pg-btn {
display: inline-flex;
min-height: 48px;
align-items: center;
justify-content: center;
padding: 12px 20px;
border: 1px solid transparent;
border-radius: 10px;
font-weight: 700;
line-height: 1.25;
text-align: center;
text-decoration: none !important;
}

.em-pg-btn-main {
color: #ffffff !important;
background: var(--pg-orange);
box-shadow: 0 8px 20px rgba(244, 145, 62, 0.24);
}

.em-pg-btn-alt {
color: var(--pg-blue-dark) !important;
background: #ffffff;
border-color: #bfd8f1;
}

.em-pg-toc {
margin-top: 24px;
padding: 24px 26px;
background: #ffffff;
border: 1px solid var(--pg-line);
border-radius: 16px;
}

.em-pg-toc > strong {
display: block;
margin-bottom: 12px;
color: var(--pg-ink);
font-size: 18px;
}

.em-pg-toc > div {
display: flex;
flex-wrap: wrap;
gap: 9px;
}

.em-pg-toc a {
padding: 7px 11px;
color: #52616d;
background: var(--pg-soft);
border: 1px solid #edf1f4;
border-radius: 999px;
font-size: 13px;
line-height: 1.3;
text-decoration: none;
}

.em-pg-section {
padding: clamp(46px, 7vw, 82px) 0;
border-bottom: 1px solid var(--pg-line);
}

.em-pg-heading {
max-width: 940px;
margin-bottom: 26px;
}

.em-pg-decision,
.em-pg-mistakes {
display: grid;
gap: 14px;
margin: 28px 0;
}

.em-pg-decision article,
.em-pg-mistakes article {
display: grid;
grid-template-columns: 54px 1fr;
gap: 16px;
padding: 22px;
background: #ffffff;
border: 1px solid var(--pg-line);
border-radius: 14px;
}

.em-pg-decision b,
.em-pg-mistakes b {
display: inline-flex;
width: 42px;
height: 42px;
align-items: center;
justify-content: center;
color: #ffffff;
background: var(--pg-orange);
border-radius: 12px;
font-size: 14px;
}

.em-pg-decision p,
.em-pg-mistakes p {
margin-bottom: 0;
}

.em-pg-note,
.em-pg-warning,
.em-pg-example {
margin: 26px 0;
padding: 22px 24px;
border-radius: 14px;
}

.em-pg-note {
color: #324d65;
background: var(--pg-blue-soft);
border: 1px solid #cce1f6;
}

.em-pg-warning {
color: #6a3028;
background: #fff2f0;
border: 1px solid #efc4be;
}

.em-pg-example {
background: var(--pg-orange-soft);
border-left: 5px solid var(--pg-orange);
}

.em-pg-levels {
display: grid;
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 14px;
margin: 28px 0;
}

.em-pg-levels article {
padding: 22px;
background: #ffffff;
border: 1px solid var(--pg-line);
border-radius: 15px;
}

.em-pg-levels span,
.em-pg-tech-head > span,
.em-pg-app-grid article > span,
.em-pg-case-grid article > span,
.em-pg-hybrid article > span {
display: block;
margin-bottom: 8px;
color: var(--pg-orange-dark);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
}

.em-pg-levels p {
margin-bottom: 12px;
font-size: 14px;
}

.em-pg-levels small {
display: block;
color: #70808b;
font-size: 12px;
line-height: 1.5;
}

.em-pg-table-wrap {
width: 100%;
margin: 26px 0;
overflow-x: auto;
border: 1px solid var(--pg-line);
border-radius: 14px;
-webkit-overflow-scrolling: touch;
}

.em-pg-table {
width: 100%;
min-width: 860px;
border-collapse: collapse;
background: #ffffff;
}

.em-pg-wide-table {
min-width: 1120px;
}

.em-pg-table th,
.em-pg-table td {
padding: 16px 18px;
border-bottom: 1px solid var(--pg-line);
text-align: left;
vertical-align: top;
}

.em-pg-table th {
color: var(--pg-ink);
background: #f4f7f9;
font-size: 14px;
}

.em-pg-table td {
font-size: 14px;
line-height: 1.55;
}

.em-pg-table tbody tr td {
border-bottom: 0;
}

.em-pg-tech {
display: grid;
gap: 20px;
margin-top: 28px;
}

.em-pg-tech > article {
padding: clamp(24px, 4vw, 34px);
background: #ffffff;
border: 1px solid var(--pg-line);
border-radius: 17px;
}

.em-pg-tech-head {
margin-bottom: 18px;
}

.em-pg-tech-head h3 {
font-size: clamp(22px, 2.6vw, 28px);
}

.em-pg-tech-columns {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 18px;
margin-top: 20px;
}

.em-pg-tech-columns > div {
padding: 20px;
background: var(--pg-soft);
border-radius: 12px;
}

.em-protocols-guide li {
margin-bottom: 8px;
}

.em-pg-app-grid,
.em-pg-case-grid,
.em-pg-security {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 16px;
margin: 28px 0;
}

.em-pg-app-grid article,
.em-pg-case-grid article,
.em-pg-security article {
padding: 24px;
background: #ffffff;
border: 1px solid var(--pg-line);
border-radius: 15px;
}

.em-pg-app-grid p,
.em-pg-case-grid p,
.em-pg-security p {
font-size: 14px;
}

.em-pg-app-grid p,
.em-pg-case-grid p,
.em-pg-security p {
margin-bottom: 0;
}

.em-pg-house-layers {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
margin: 28px 0;
}

.em-pg-house-layers article {
padding: 22px;
background: #ffffff;
border: 1px solid var(--pg-line);
border-radius: 15px;
}

.em-pg-house-layers b {
display: inline-flex;
width: 40px;
height: 40px;
align-items: center;
justify-content: center;
margin-bottom: 16px;
color: #ffffff;
background: var(--pg-orange);
border-radius: 11px;
}

.em-pg-house-layers p {
margin-bottom: 0;
font-size: 14px;
}

.em-pg-hybrid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
margin: 28px 0;
}

.em-pg-hybrid article {
padding: 22px;
background: #ffffff;
border: 1px solid var(--pg-line);
border-radius: 15px;
}

.em-pg-hybrid strong {
display: block;
margin-bottom: 8px;
color: var(--pg-ink);
font-size: 17px;
}

.em-pg-hybrid p {
margin-bottom: 0;
font-size: 14px;
}

.em-pg-compat {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
margin: 28px 0;
}

.em-pg-compat article {
display: grid;
grid-template-columns: 48px 1fr;
column-gap: 14px;
padding: 22px;
background: #ffffff;
border: 1px solid var(--pg-line);
border-radius: 14px;
}

.em-pg-compat b {
grid-row: 1 / 3;
display: inline-flex;
width: 38px;
height: 38px;
align-items: center;
justify-content: center;
color: #ffffff;
background: var(--pg-orange);
border-radius: 10px;
}

.em-pg-compat h3 {
margin-bottom: 6px;
}

.em-pg-compat p {
margin-bottom: 0;
font-size: 14px;
}

.em-pg-steps {
display: grid;
gap: 12px;
padding-left: 0 !important;
list-style: none;
}

.em-pg-steps li {
display: grid;
grid-template-columns: minmax(220px, 0.65fr) 1fr;
gap: 18px;
padding: 20px 22px;
background: #ffffff;
border: 1px solid var(--pg-line);
border-radius: 13px;
}

.em-pg-steps strong {
color: var(--pg-ink);
}

.em-pg-related {
padding: clamp(46px, 7vw, 70px) 0;
}

.em-pg-related > div {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
}

.em-pg-related a {
display: block;
padding: 22px;
color: var(--pg-text);
background: #ffffff;
border: 1px solid var(--pg-line);
border-radius: 14px;
text-decoration: none;
}

.em-pg-related strong {
display: block;
margin-bottom: 8px;
color: var(--pg-ink);
font-size: 17px;
}

.em-pg-related span {
display: block;
font-size: 14px;
line-height: 1.55;
}

.em-pg-cta {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 30px;
align-items: center;
padding: clamp(30px, 5vw, 48px);
color: #ffffff;
background: linear-gradient(135deg, #ef8731 0%, #d96c1e 100%);
border-radius: 20px;
}

.em-pg-cta h2,
.em-pg-cta p,
.em-pg-cta > div > span {
color: #ffffff;
}

.em-pg-cta > div {
min-width: 210px;
flex-direction: column;
}

.em-pg-btn-light {
color: var(--pg-orange-dark) !important;
background: #ffffff;
}

.em-pg-btn-outline {
color: #ffffff !important;
background: transparent;
border-color: rgba(255, 255, 255, 0.75);
}

.em-pg-faq details {
margin-bottom: 12px;
overflow: hidden;
background: #ffffff;
border: 1px solid var(--pg-line);
border-radius: 12px;
}

.em-pg-faq summary {
position: relative;
padding: 18px 48px 18px 20px;
color: var(--pg-ink);
cursor: pointer;
font-weight: 700;
list-style: none;
}

.em-pg-faq summary::-webkit-details-marker {
display: none;
}

.em-pg-faq summary {
position: absolute;
top: 50%;
right: 20px;
content: "+";
transform: translateY(-50%);
color: var(--pg-orange-dark);
font-size: 24px;
}

.em-pg-faq details[open] summary {
content: "−";
}

.em-pg-faq details p {
margin: 0;
padding: 0 20px 20px;
}

.em-pg-sources {
margin-top: 24px;
padding: 28px;
background: var(--pg-soft);
border: 1px solid var(--pg-line);
border-radius: 16px;
}

.em-pg-sources h2 {
font-size: 24px;
}

.em-pg-sources li,
.em-pg-sources p {
font-size: 14px;
}

@media (max-width: 1100px) {
.em-pg-levels {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}

@media (max-width: 1024px) {
.em-pg-summary {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.em-pg-house-layers,
.em-pg-hybrid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.em-pg-related > div {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}

@media (max-width: 767px) {
.em-protocols-guide {
font-size: 15px;
}

.em-pg-hero {
padding: 26px 18px;
border-radius: 16px;
}

.em-protocols-guide h1 {
font-size: 30px;
}

.em-protocols-guide h2 {
font-size: 27px;
}

.em-pg-summary,
.em-pg-levels,
.em-pg-tech-columns,
.em-pg-app-grid,
.em-pg-case-grid,
.em-pg-house-layers,
.em-pg-hybrid,
.em-pg-compat,
.em-pg-security,
.em-pg-related > div,
.em-pg-cta {
grid-template-columns: 1fr;
}

.em-pg-actions,
.em-pg-cta > div {
width: 100%;
flex-direction: column;
}

.em-pg-btn {
width: 100%;
}

.em-pg-toc {
padding: 20px 16px;
}

.em-pg-toc > div {
display: grid;
grid-template-columns: 1fr 1fr;
}

.em-pg-toc a {
text-align: center;
}

.em-pg-section {
padding: 48px 0;
}

.em-pg-decision article,
.em-pg-mistakes article {
grid-template-columns: 46px 1fr;
gap: 12px;
padding: 18px;
}

.em-pg-compat article {
grid-template-columns: 42px 1fr;
}

.em-pg-steps li {
grid-template-columns: 1fr;
gap: 6px;
}

.em-pg-cta {
padding: 28px 20px;
}

.em-pg-cta > div {
min-width: 0;
}
}

@media (max-width: 480px) {
.em-pg-toc > div {
grid-template-columns: 1fr;
}

.em-protocols-guide h1 {
font-size: 28px;
}

.em-pg-decision article,
.em-pg-mistakes article {
grid-template-columns: 1fr;
}

.em-pg-compat article {
grid-template-columns: 1fr;
}

.em-pg-compat b {
grid-row: auto;
}
}/* End custom CSS */