/* Consultation: live Figma 262:6631 / 262:8496. Offline notices and published CMS contacts remain dynamic. */
.consultation-dialog{border:0;padding:0;background:transparent;color:#2d2d2f;width:max-content;max-width:calc(100vw - 30px);max-height:calc(100dvh - 80px);border-radius:20px;overflow:auto;overscroll-behavior:contain}
.consultation-dialog::backdrop{background:rgb(0 0 0 / .72)}
.consultation-dialog[open]{display:block}
.consultation-card{background:#fff;border-radius:20px;padding:50px;color:#2d2d2f;font:400 18px/1.5 'IBM Plex Sans',Arial,sans-serif}
.consultation-content{width:360px;max-width:100%}.consultation-content.has-contacts{display:grid;grid-template-columns:360px 250px;gap:50px;width:660px}
.consultation-card [hidden]{display:none!important}
.consultation-main{min-width:0}.consultation-card h1,.consultation-card h2{font:700 32px/1.2 Inter,Arial,sans-serif;letter-spacing:-.035em;margin:0 0 25px}
.consultation-lead{margin:0 0 24px;font-size:16px;line-height:1.5}.consultation-mode{padding:10px 12px;background:#fff8d6;border-radius:8px;font-size:12px;line-height:1.5;margin:0 0 16px}
.consultation-close{position:fixed;top:15px;right:15px;border:0;border-radius:5px;background:#fff;color:#2d2d2f;width:48px;height:48px;padding:0;display:grid;place-items:center;font:400 30px/1 Inter,Arial,sans-serif;cursor:pointer}
.consultation-form{display:flex;flex-direction:column;gap:10px}.consultation-field{display:flex;flex-direction:column;gap:3px}
.consultation-form .consultation-field input{display:block;width:100%;height:52px;min-width:0;border:1px solid #d9d9d9;border-radius:8px;background:#fff;padding:14px 20px;color:#2d2d2f;font:400 16px/1.4 'IBM Plex Sans',Arial,sans-serif;box-shadow:none}
.consultation-form input::placeholder{color:#76767c;opacity:1}.consultation-card input[aria-invalid=true]{border-color:#b02a37}
.consultation-phone-hint{font-size:11px;color:#6f6f75}.consultation-field-error{font-size:12px;color:#b02a37}.consultation-field-error:empty{display:none}
.consultation-card .consultation-submit{display:flex;align-items:center;justify-content:center;min-height:52px;width:100%;background:#ffef62;border:0;border-radius:8px;padding:12px 16px;text-align:center;color:#2d2d2f;font:500 16px/1.4 'IBM Plex Sans',Arial,sans-serif;cursor:pointer}
.consultation-card .consultation-submit:hover{background:#ffe400}.consultation-card .consultation-submit:disabled{opacity:.65;cursor:default}
.consultation-consent{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;color:#76767c;margin-top:0}
.consultation-consent input{width:16px;height:16px;flex:none;margin:2px 0 0;accent-color:#ffe400}.consultation-consent a{text-decoration:underline;text-underline-offset:2px}
.consultation-contacts h3{font:700 18px/1.25 Inter,Arial,sans-serif;margin:0 0 20px;letter-spacing:-.02em}.consultation-contacts nav{display:flex;flex-direction:column;gap:10px}.consultation-contacts a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 16px;border-radius:10px;background:#f3f3f3;font-size:16px}
.consultation-success{text-align:center;width:360px;max-width:100%}.consultation-check{display:grid;place-items:center;border-radius:50%;width:100px;height:100px;background:#dcf1e8;color:#20bd66;font-size:52px;margin:0 auto 24px}.consultation-success h2{margin-bottom:20px}.consultation-success p{font-size:16px;line-height:1.5;margin:0 0 24px}
.consultation-error-summary{color:#a32130;background:#fff0f1;border-radius:8px;padding:12px;font-size:14px;margin-bottom:16px}.consultation-error-summary p{margin:0 0 4px}.consultation-error-summary p:last-child{margin:0}
.consultation-honeypot{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.consultation-card :focus-visible,.consultation-close:focus-visible{outline:3px solid #1765d8;outline-offset:3px}
.consultation-page{padding:20px 0 60px;max-width:760px;margin:auto}.consultation-page>.consultation-card{width:max-content;max-width:100%;margin:20px auto 0;border:1px solid #e5e5e5}.consultation-back{font-size:15px;text-decoration:underline}
html.consultation-open{overflow:hidden}
.consultation-dialog::backdrop{background:rgba(45,45,47,.9)}
.consultation-card{border-radius:24px}.consultation-lead{font-size:14px;line-height:21px}
.consultation-card .consultation-submit{background:#ffef68}.consultation-check{background:#def2e7;color:#27ba67}
@media(max-width:760px){.consultation-card{padding:30px}.consultation-dialog{max-width:calc(100vw - 30px)}.consultation-content,.consultation-success{width:300px}.consultation-content.has-contacts{display:block;width:300px}.consultation-card h1,.consultation-card h2{font-size:26px;line-height:1.25;margin-bottom:24px}.consultation-contacts{border-top:1px solid #eee;margin-top:20px;padding-top:20px}.consultation-contacts nav{flex-direction:row;flex-wrap:wrap}.consultation-contacts a{flex:1;min-width:75px;flex-direction:column;gap:6px;padding:12px 8px;font-size:14px}.consultation-contacts h3{font-size:18px}.consultation-page{padding-bottom:30px}}
@media(max-width:390px){.consultation-card{padding:28px 24px}.consultation-content,.consultation-success,.consultation-content.has-contacts{width:calc(100vw - 78px)}.consultation-card h1,.consultation-card h2{font-size:24px}}
/* The original dividers/icons keep their native export sizes; smaller screens
   clip the decorative line instead of scaling SVG geometry. */
.consultation-content.has-contacts{position:relative;grid-template-columns:360px 250px;gap:60px;align-items:center;width:670px}
.consultation-main h1,.consultation-main h2{max-width:320px;line-height:1.21;letter-spacing:-.04em;margin-bottom:20px}
.consultation-main .consultation-lead{margin-bottom:20px}
.consultation-close{top:25px;right:25px;border-radius:8px}
.consultation-close img{display:block;max-width:none}
.consultation-form input::placeholder{color:#6f6f75}
.consultation-consent{gap:5px;color:#6f6f75}
.consultation-consent input{margin-top:1px;accent-color:#ffef68}
.consultation-divider{position:absolute;left:390px;top:50%;transform:translateY(-50%);width:1px;height:447px;pointer-events:none;overflow:hidden}
.consultation-divider .consultation-divider-desktop{display:block;max-width:none}
.consultation-divider .consultation-divider-mobile{display:none}
.consultation-contacts{min-width:0}
.consultation-contacts h3{font-size:16px;line-height:1.21;margin-bottom:13px}
.consultation-contacts nav{gap:10px}
.consultation-contacts .consultation-contact-link{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:15px;min-width:0;min-height:80px;padding:15px;border-radius:12px;font-size:16px;font-weight:500;line-height:1.4}
.consultation-contacts .consultation-contact-with-icon{grid-template-columns:50px minmax(0,1fr) 20px}
.consultation-contact-label{min-width:0;overflow-wrap:anywhere}
.consultation-contact-icon{display:grid;place-items:center;flex:none}
.consultation-contact-icon .consultation-icon-desktop,.consultation-contact-arrow{display:block;max-width:none}
.consultation-contact-icon .consultation-icon-mobile{display:none}
.consultation-page{max-width:770px}
.consultation-page>.consultation-card{border:0;box-shadow:0 0 0 1px #e5e5e5}
@media(max-width:800px){
 .consultation-dialog{border-radius:20px}
 .consultation-card{width:min(360px,calc(100vw - 30px));padding:30px;border-radius:20px}
 .consultation-content,.consultation-content.has-contacts,.consultation-success{width:100%}
 .consultation-content.has-contacts{display:block}
 .consultation-card .consultation-main h1,.consultation-card .consultation-main h2{max-width:244px;font-size:24px;line-height:1.21;letter-spacing:-.02em;margin-bottom:20px}
 .consultation-close{top:15px;right:15px}
 .consultation-divider{display:block;position:relative;left:auto;top:auto;transform:none;width:100%;height:1px;margin:20px 0}
 .consultation-divider .consultation-divider-desktop{display:none}
 .consultation-divider .consultation-divider-mobile{display:block;position:relative;left:50%;transform:translateX(-50%);max-width:none}
 .consultation-contacts{border:0;margin:0;padding:0}
 .consultation-contacts h3{font-size:16px;margin-bottom:13px}
 .consultation-contacts nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 .consultation-contacts .consultation-contact-link{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;min-height:90px;padding:12px 8px 11px;font-size:14px;text-align:center}
 .consultation-contact-icon .consultation-icon-desktop,.consultation-contact-arrow{display:none}
 .consultation-contact-icon .consultation-icon-mobile{display:block;max-width:none}
 .consultation-page>.consultation-card{width:min(360px,100%)}
}
