/* Start custom CSS for html, class: .elementor-element-8ce52be */.em-wb-guide {
--ewb-text: #24303a;
--ewb-muted: #62707a;
--ewb-dark: #14202a;
--ewb-dark-soft: #263542;
--ewb-accent: #f2b321;
--ewb-accent-light: #fff6da;
--ewb-blue: #176ba3;
--ewb-green: #347653;
--ewb-green-light: #edf8f2;
--ewb-red: #a63a30;
--ewb-red-light: #fff3f1;
--ewb-bg: #f5f7f9;
--ewb-card: #ffffff;
--ewb-border: #dce4e9;
max-width: 1180px;
margin: 0 auto;
color: var(--ewb-text);
font-family: inherit;
font-size: 18px;
line-height: 1.72;
}

.em-wb-guide *,
.em-wb-guide *::before,
.em-wb-guide *::after {
box-sizing: border-box;
}

.em-wb-guide h1,
.em-wb-guide h2,
.em-wb-guide h3,
.em-wb-guide p,
.em-wb-guide li,
.em-wb-guide a {
overflow-wrap: anywhere;
}

.em-wb-guide h1 {
margin: 16px 0 22px;
color: #ffffff;
font-size: clamp(36px, 5vw, 61px);
line-height: 1.08;
letter-spacing: -0.025em;
}

.em-wb-guide h2 {
margin: 0 0 22px;
color: var(--ewb-dark);
font-size: clamp(28px, 3.5vw, 42px);
line-height: 1.18;
letter-spacing: -0.015em;
}

.em-wb-guide h3 {
margin: 28px 0 13px;
color: var(--ewb-dark);
font-size: clamp(21px, 2.4vw, 27px);
line-height: 1.3;
}

.em-wb-guide p {
margin: 0 0 18px;
}

.em-wb-guide a {
color: var(--ewb-blue);
text-decoration-thickness: 1px;
text-underline-offset: 3px;
}

.em-wb-guide a {
color: #0e4e77;
}

.em-wb-guide a,
.em-wb-guide summary {
outline: 3px solid rgba(242, 179, 33, 0.72);
outline-offset: 4px;
}

.em-wb-guide__hero {
position: relative;
overflow: hidden;
margin-bottom: 26px;
padding: clamp(34px, 6vw, 72px);
border-radius: 28px;
background:
radial-gradient(circle at 92% 5%, rgba(242, 179, 33, 0.25), transparent 32%),
linear-gradient(135deg, var(--ewb-dark), var(--ewb-dark-soft));
}

.em-wb-guide__hero::before,
.em-wb-guide__hero::after {
position: absolute;
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 50%;
content: "";
}

.em-wb-guide__hero::before {
top: -110px;
right: -105px;
width: 370px;
height: 370px;
}

.em-wb-guide__hero::after {
right: 145px;
bottom: -195px;
width: 370px;
height: 370px;
}

.em-wb-guide__hero-content {
position: relative;
z-index: 1;
}

.em-wb-guide__label {
display: inline-flex;
align-items: center;
padding: 7px 12px;
border-radius: 999px;
background: var(--ewb-accent);
color: #181818;
font-size: 13px;
font-weight: 850;
line-height: 1.2;
letter-spacing: 0.045em;
text-transform: uppercase;
}

.em-wb-guide__lead {
max-width: 980px;
color: #e1e8ed;
font-size: clamp(19px, 2vw, 23px);
line-height: 1.56;
}

.em-wb-guide__hero-grid {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 12px;
margin-top: 30px;
}

.em-wb-guide__hero-grid > div {
padding: 18px;
border: 1px solid rgba(255, 255, 255, 0.12);
border-radius: 15px;
background: rgba(255, 255, 255, 0.06);
}

.em-wb-guide__hero-grid strong,
.em-wb-guide__hero-grid span {
display: block;
}

.em-wb-guide__hero-grid strong {
margin-bottom: 5px;
color: #ffffff;
font-size: 17px;
}

.em-wb-guide__hero-grid span {
color: #ccd6dd;
font-size: 14px;
line-height: 1.45;
}

.em-wb-guide__danger,
.em-wb-guide__warning {
margin: 26px 0;
padding: 21px 23px;
border-left: 5px solid var(--ewb-red);
border-radius: 14px;
background: var(--ewb-red-light);
color: #6d2922;
line-height: 1.65;
}

.em-wb-guide__danger--inside {
margin-bottom: 0;
}

.em-wb-guide__warning {
border-left-color: var(--ewb-accent);
background: var(--ewb-accent-light);
color: #594100;
}

.em-wb-guide__direct,
.em-wb-guide__section,
.em-wb-guide__toc {
margin: 30px 0;
padding: clamp(26px, 5vw, 48px);
border: 1px solid var(--ewb-border);
border-radius: 24px;
background: var(--ewb-card);
}

.em-wb-guide__direct {
background: var(--ewb-bg);
}

.em-wb-guide__direct-grid,
.em-wb-guide__roles,
.em-wb-guide__model-grid,
.em-wb-guide__architecture,
.em-wb-guide__controller-grid,
.em-wb-guide__rs-grid,
.em-wb-guide__software-grid,
.em-wb-guide__lighting-grid,
.em-wb-guide__climate-grid,
.em-wb-guide__water-grid,
.em-wb-guide__panel-grid,
.em-wb-guide__failure-table,
.em-wb-guide__security-grid,
.em-wb-guide__norms {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
}

.em-wb-guide__direct-grid article,
.em-wb-guide__roles article,
.em-wb-guide__model-grid article,
.em-wb-guide__architecture article,
.em-wb-guide__controller-grid article,
.em-wb-guide__rs-grid article,
.em-wb-guide__software-grid article,
.em-wb-guide__lighting-grid article,
.em-wb-guide__climate-grid article,
.em-wb-guide__water-grid article,
.em-wb-guide__panel-grid article,
.em-wb-guide__failure-table article,
.em-wb-guide__security-grid article,
.em-wb-guide__norms article {
padding: 22px;
border: 1px solid var(--ewb-border);
border-radius: 16px;
background: #ffffff;
}

.em-wb-guide__direct-grid article > span,
.em-wb-guide__roles article > span,
.em-wb-guide__model-grid article > span,
.em-wb-guide__architecture article > span,
.em-wb-guide__rs-grid article > span,
.em-wb-guide__software-grid article > span,
.em-wb-guide__lighting-grid article > span,
.em-wb-guide__water-grid article > span,
.em-wb-guide__panel-grid article > span,
.em-wb-guide__failure-table article > span,
.em-wb-guide__security-grid article > span {
display: inline-flex;
margin-bottom: 12px;
padding: 5px 10px;
border-radius: 999px;
background: var(--ewb-dark);
color: #ffffff;
font-size: 12px;
font-weight: 850;
}

.em-wb-guide__direct-grid h3,
.em-wb-guide__roles h3,
.em-wb-guide__model-grid h3,
.em-wb-guide__architecture h3,
.em-wb-guide__controller-grid h3,
.em-wb-guide__rs-grid h3,
.em-wb-guide__software-grid h3,
.em-wb-guide__lighting-grid h3,
.em-wb-guide__climate-grid h3,
.em-wb-guide__water-grid h3,
.em-wb-guide__panel-grid h3,
.em-wb-guide__failure-table h3,
.em-wb-guide__security-grid h3,
.em-wb-guide__norms h3 {
margin: 0 0 9px;
font-size: 20px;
}

.em-wb-guide__direct-grid p,
.em-wb-guide__roles p,
.em-wb-guide__model-grid p,
.em-wb-guide__architecture p,
.em-wb-guide__controller-grid p,
.em-wb-guide__rs-grid p,
.em-wb-guide__software-grid p,
.em-wb-guide__lighting-grid p,
.em-wb-guide__climate-grid p,
.em-wb-guide__water-grid p,
.em-wb-guide__panel-grid p,
.em-wb-guide__failure-table p,
.em-wb-guide__security-grid p,
.em-wb-guide__norms p {
margin: 0;
color: var(--ewb-muted);
font-size: 16px;
line-height: 1.62;
}

.em-wb-guide__toc h2 {
margin-bottom: 17px;
font-size: 25px;
}

.em-wb-guide__toc ol {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 7px 28px;
margin: 0;
padding-left: 23px;
}

.em-wb-guide__toc a {
color: var(--ewb-text);
font-weight: 650;
text-decoration: none;
}

.em-wb-guide__toc a {
color: var(--ewb-blue);
text-decoration: underline;
}

.em-wb-guide__section {
position: relative;
}

.em-wb-guide__section-number {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 48px;
height: 32px;
margin-bottom: 14px;
border-radius: 999px;
background: var(--ewb-dark);
color: #ffffff;
font-size: 13px;
font-weight: 850;
}

.em-wb-guide__note {
margin: 24px 0 4px;
padding: 20px 22px;
border-left: 5px solid var(--ewb-accent);
border-radius: 12px;
background: var(--ewb-accent-light);
color: #594100;
}

.em-wb-guide__list {
margin: 18px 0 22px;
padding-left: 24px;
}

.em-wb-guide__list li {
margin-bottom: 10px;
padding-left: 5px;
}

.em-wb-guide__list li::marker {
color: var(--ewb-accent);
font-weight: 850;
}

.em-wb-guide__list--danger {
padding: 22px 22px 12px 44px;
border-radius: 15px;
background: var(--ewb-red-light);
}

.em-wb-guide__list--danger li::marker {
color: var(--ewb-red);
}

.em-wb-guide__architecture-compare,
.em-wb-guide__integration-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
margin: 24px 0;
}

.em-wb-guide__architecture-compare article,
.em-wb-guide__integration-grid article {
padding: 23px;
border: 1px solid var(--ewb-border);
border-top: 5px solid var(--ewb-accent);
border-radius: 17px;
background: var(--ewb-bg);
}

.em-wb-guide__architecture-compare h3,
.em-wb-guide__integration-grid h3 {
margin: 0 0 10px;
font-size: 22px;
}

.em-wb-guide__architecture-compare p,
.em-wb-guide__architecture-compare li,
.em-wb-guide__integration-grid li {
color: var(--ewb-muted);
font-size: 16px;
line-height: 1.6;
}

.em-wb-guide__architecture-compare strong {
display: block;
margin: 18px 0 7px;
color: var(--ewb-green);
}

.em-wb-guide__architecture-compare ul,
.em-wb-guide__integration-grid ul {
margin: 0;
padding-left: 21px;
}

.em-wb-guide__architecture-compare li,
.em-wb-guide__integration-grid li {
margin-bottom: 8px;
}

.em-wb-guide__integration-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}

.em-wb-guide__integration-grid article > span {
display: inline-flex;
margin-bottom: 12px;
color: var(--ewb-blue);
font-size: 13px;
font-weight: 850;
text-transform: uppercase;
}

.em-wb-guide__table-wrap {
max-width: 100%;
margin: 24px 0;
overflow-x: auto;
border: 1px solid var(--ewb-border);
border-radius: 17px;
background: #ffffff;
-webkit-overflow-scrolling: touch;
}

.em-wb-guide__table {
width: 100%;
min-width: 870px;
border-collapse: collapse;
font-size: 15px;
line-height: 1.52;
}

.em-wb-guide__table th,
.em-wb-guide__table td {
padding: 17px 18px;
border-bottom: 1px solid var(--ewb-border);
text-align: left;
vertical-align: top;
}

.em-wb-guide__table th {
background: var(--ewb-dark);
color: #ffffff;
font-size: 14px;
}

.em-wb-guide__table tbody tr(even) {
background: var(--ewb-bg);
}

.em-wb-guide__table tbody tr td {
border-bottom: 0;
}

.em-wb-guide__functions,
.em-wb-guide__selection,
.em-wb-guide__mistakes {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
}

.em-wb-guide__functions article,
.em-wb-guide__selection article {
padding: 22px;
border: 1px solid var(--ewb-border);
border-radius: 16px;
background: var(--ewb-bg);
}

.em-wb-guide__selection article > span {
display: inline-flex;
margin-bottom: 11px;
padding: 5px 9px;
border-radius: 999px;
background: var(--ewb-dark);
color: #ffffff;
font-size: 12px;
font-weight: 850;
}

.em-wb-guide__functions h3,
.em-wb-guide__selection h3 {
margin: 0 0 9px;
font-size: 20px;
}

.em-wb-guide__functions p,
.em-wb-guide__selection p {
margin: 0;
color: var(--ewb-muted);
font-size: 16px;
line-height: 1.62;
}

.em-wb-guide__steps {
margin: 24px 0;
padding: 0;
list-style: none;
}

.em-wb-guide__steps li {
display: grid;
grid-template-columns: 48px minmax(0, 1fr);
gap: 16px;
align-items: start;
padding: 18px 0;
border-bottom: 1px solid var(--ewb-border);
}

.em-wb-guide__steps li {
border-bottom: 0;
}

.em-wb-guide__steps li > span {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 50%;
background: var(--ewb-accent);
color: var(--ewb-dark);
font-weight: 850;
}

.em-wb-guide__steps h3 {
margin: 0 0 4px;
font-size: 19px;
}

.em-wb-guide__steps p {
margin: 0;
color: var(--ewb-muted);
font-size: 16px;
}

.em-wb-guide__acceptance {
margin: 24px 0;
}

.em-wb-guide__acceptance article {
display: grid;
grid-template-columns: 48px minmax(0, 1fr);
gap: 16px;
align-items: start;
padding: 18px 0;
border-bottom: 1px solid var(--ewb-border);
}

.em-wb-guide__acceptance article {
border-bottom: 0;
}

.em-wb-guide__acceptance article > span {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 50%;
background: var(--ewb-accent);
color: var(--ewb-dark);
font-weight: 850;
}

.em-wb-guide__acceptance h3 {
margin: 0 0 4px;
font-size: 19px;
}

.em-wb-guide__acceptance p {
margin: 0;
color: var(--ewb-muted);
font-size: 16px;
}

.em-wb-guide__mistakes article {
padding: 22px;
border: 1px solid #edcbc6;
border-radius: 16px;
background: var(--ewb-red-light);
}

.em-wb-guide__mistakes h3 {
margin: 0 0 9px;
color: #742b24;
font-size: 20px;
}

.em-wb-guide__mistakes p {
margin: 0;
color: #6d4843;
font-size: 16px;
line-height: 1.6;
}

.em-wb-guide__norms article {
background: var(--ewb-bg);
}

.em-wb-guide__service {
position: relative;
overflow: hidden;
margin: 30px 0;
padding: clamp(30px, 6vw, 60px);
border-radius: 26px;
background:
radial-gradient(circle at 95% 0%, rgba(242, 179, 33, 0.24), transparent 35%),
var(--ewb-dark);
color: #ffffff;
}

.em-wb-guide__service-content {
position: relative;
z-index: 1;
max-width: 960px;
}

.em-wb-guide__service h2 {
margin-top: 18px;
color: #ffffff;
}

.em-wb-guide__service p {
color: #d7e0e7;
}

.em-wb-guide__service-buttons {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin: 27px 0 20px;
}

.em-wb-guide__button {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 50px;
padding: 13px 22px;
border: 2px solid transparent;
border-radius: 12px;
font-size: 16px;
font-weight: 800;
line-height: 1.2;
text-align: center;
text-decoration: none !important;
transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.em-wb-guide__button {
transform: translateY(-1px);
}

.em-wb-guide__button--primary {
background: var(--ewb-accent);
color: #181818 !important;
}

.em-wb-guide__button--secondary {
border-color: rgba(255, 255, 255, 0.35);
background: rgba(255, 255, 255, 0.08);
color: #ffffff !important;
}

.em-wb-guide__service-facts {
display: flex;
flex-wrap: wrap;
gap: 9px;
}

.em-wb-guide__service-facts span {
padding: 8px 11px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.09);
color: #dbe3e9;
font-size: 13px;
}

.em-wb-guide__service-link {
margin-top: 22px !important;
}

.em-wb-guide__service-link a {
color: #ffd55d;
font-weight: 750;
}

.em-wb-guide__faq details {
margin-bottom: 11px;
border: 1px solid var(--ewb-border);
border-radius: 14px;
background: var(--ewb-bg);
}

.em-wb-guide__faq summary {
position: relative;
padding: 19px 54px 19px 20px;
color: var(--ewb-dark);
font-weight: 750;
line-height: 1.45;
cursor: pointer;
list-style: none;
}

.em-wb-guide__faq summary::-webkit-details-marker {
display: none;
}

.em-wb-guide__faq summary::after {
position: absolute;
top: 50%;
right: 19px;
display: inline-flex;
align-items: center;
justify-content: center;
width: 27px;
height: 27px;
border-radius: 50%;
background: var(--ewb-accent);
color: var(--ewb-dark);
content: "+";
font-size: 20px;
font-weight: 850;
transform: translateY(-50%);
}

.em-wb-guide__faq details[open] summary::after {
content: "−";
}

.em-wb-guide__faq details > div {
padding: 0 20px 18px;
color: var(--ewb-muted);
}

.em-wb-guide__faq details p {
margin: 0;
}

.em-wb-guide__related {
margin: 30px 0;
padding: clamp(26px, 5vw, 46px);
border-radius: 24px;
background: var(--ewb-bg);
}

.em-wb-guide__related-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 14px;
}

.em-wb-guide__related-grid a {
display: block;
padding: 22px;
border: 1px solid var(--ewb-border);
border-radius: 16px;
background: #ffffff;
color: var(--ewb-text);
text-decoration: none;
transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.em-wb-guide__related-grid a {
border-color: #b7c4cd;
color: var(--ewb-text);
transform: translateY(-2px);
box-shadow: 0 12px 28px rgba(20, 30, 40, 0.08);
}

.em-wb-guide__related-grid strong,
.em-wb-guide__related-grid span {
display: block;
}

.em-wb-guide__related-grid strong {
margin-bottom: 7px;
color: var(--ewb-dark);
font-size: 18px;
line-height: 1.35;
}

.em-wb-guide__related-grid span {
color: var(--ewb-muted);
font-size: 15px;
line-height: 1.5;
}

@media (max-width: 980px) {
.em-wb-guide__hero-grid,
.em-wb-guide__integration-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}

@media (max-width: 820px) {
.em-wb-guide__toc ol,
.em-wb-guide__direct-grid,
.em-wb-guide__roles,
.em-wb-guide__model-grid,
.em-wb-guide__architecture,
.em-wb-guide__controller-grid,
.em-wb-guide__architecture-compare,
.em-wb-guide__rs-grid,
.em-wb-guide__software-grid,
.em-wb-guide__integration-grid,
.em-wb-guide__functions,
.em-wb-guide__lighting-grid,
.em-wb-guide__climate-grid,
.em-wb-guide__water-grid,
.em-wb-guide__panel-grid,
.em-wb-guide__failure-table,
.em-wb-guide__security-grid,
.em-wb-guide__selection,
.em-wb-guide__mistakes,
.em-wb-guide__norms,
.em-wb-guide__related-grid {
grid-template-columns: 1fr;
}
}

@media (max-width: 767px) {
.em-wb-guide {
font-size: 16px;
line-height: 1.68;
}

.em-wb-guide__hero {
    margin-right: -4px;
    margin-left: -4px;
    padding: 29px 18px;
    border-radius: 20px;
}

.em-wb-guide h1 {
    font-size: clamp(31px, 10vw, 42px);
}

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

.em-wb-guide h3 {
    font-size: 21px;
}

.em-wb-guide__lead {
    font-size: 18px;
}

.em-wb-guide__hero-grid {
    grid-template-columns: 1fr;
}

.em-wb-guide__direct,
.em-wb-guide__section,
.em-wb-guide__toc,
.em-wb-guide__related {
    padding: 22px 17px;
    border-radius: 18px;
}

.em-wb-guide__danger,
.em-wb-guide__warning {
    padding: 18px;
}

.em-wb-guide__service {
    padding: 30px 18px;
    border-radius: 20px;
}

.em-wb-guide__service-buttons {
    display: grid;
    grid-template-columns: 1fr;
}

.em-wb-guide__button {
    width: 100%;
}

.em-wb-guide__service-facts {
    display: grid;
    grid-template-columns: 1fr;
}

.em-wb-guide__service-facts span {
    border-radius: 10px;
}

}

@media (max-width: 420px) {
.em-wb-guide__direct-grid article,
.em-wb-guide__roles article,
.em-wb-guide__model-grid article,
.em-wb-guide__architecture article,
.em-wb-guide__controller-grid article,
.em-wb-guide__architecture-compare article,
.em-wb-guide__rs-grid article,
.em-wb-guide__software-grid article,
.em-wb-guide__integration-grid article,
.em-wb-guide__functions article,
.em-wb-guide__lighting-grid article,
.em-wb-guide__climate-grid article,
.em-wb-guide__water-grid article,
.em-wb-guide__panel-grid article,
.em-wb-guide__failure-table article,
.em-wb-guide__security-grid article,
.em-wb-guide__selection article,
.em-wb-guide__mistakes article,
.em-wb-guide__norms article {
padding: 18px;
}

.em-wb-guide__steps li,
.em-wb-guide__acceptance article {
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 11px;
}

.em-wb-guide__steps li > span,
.em-wb-guide__acceptance article > span {
    width: 37px;
    height: 37px;
}

.em-wb-guide__faq summary {
    padding: 17px 48px 17px 16px;
}

.em-wb-guide__faq summary::after {
    right: 13px;
}

.em-wb-guide__faq details > div {
    padding: 0 16px 16px;
}

}

@media (prefers-reduced-motion: reduce) {
.em-wb-guide__button,
.em-wb-guide__related-grid a {
transition: none;
}
}/* End custom CSS */