/* Imported design values are retained; behaviour and accessibility belong to Astro. */
[hidden] { display:none !important; }
button { font:inherit; cursor:pointer; }
/* The build writes the file's pixel size on fluid images to reserve their box;
   the height must keep following the width, as before the attributes. */
img.site-img[width][height]:not(.canvas__image) { height:auto; }
/* This is a button baseline, not a replacement for the imported artwork.
   In particular, gallery backgrounds reserve their height with ratio padding. */
:where(.native-control) { border:0; padding:0; color:inherit; font:inherit; background:transparent; }
.native-zoom-trigger { display:block; width:100%; }
.native-lightbox { position:fixed; inset:0; margin:auto; padding:44px 52px; border:0; color:#fff; background:#111; max-width:calc(100vw - 24px); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); overflow:auto; box-sizing:border-box; }
.native-lightbox::backdrop { background:rgba(0,0,0,.88); }
.native-lightbox-image { display:block; max-width:100%; max-height:75vh; object-fit:contain; margin:auto; }
.native-lightbox button { border:0; min-width:44px; min-height:44px; background:#222; color:#fff; font-size:32px; }
.native-lightbox-close { position:absolute; top:0; right:0; }
.native-lightbox-prev { position:absolute; left:0; top:45%; }
.native-lightbox-next { position:absolute; right:0; top:45%; }
.native-lightbox-count { text-align:center; margin:12px 0 0; }
.site-slds__bullet_body.native-control[aria-current="true"] { box-shadow:0 0 0 2px currentColor; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible { outline:3px solid #8d5cf6; outline-offset:4px; }
button[data-open-dialog], button[data-open-menu] { text-align:inherit; color:inherit; border:0; background:transparent; }
dialog[data-modal] { margin:auto; padding:0; max-width:calc(100vw - 24px); max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); overflow:auto; border:0; }
dialog[data-modal]:not([open]) { display:none !important; }
dialog[data-modal][open] { display:block; visibility:visible; opacity:1; }
dialog[data-modal]::backdrop { background:rgba(0,0,0,.8); }
dialog.site-popup[open] { position:fixed; inset:0; width:100%; height:100%; max-width:none; max-height:none; background:transparent !important; }
dialog.site-popup[open] .site-popup__container { margin:60px auto; position:relative; top:auto; transform:none; }
/* A dropdown paints only its captured panel; the strip above it keeps the
   pointer inside on the way down from the item. */
dialog.block-978[open], dialog.block-794[open] { position:fixed; width:max-content; max-width:calc(100vw - 32px); padding:0; background:transparent; overflow:visible; z-index:99999; }
dialog.block-978[open]::before, dialog.block-794[open]::before { content:''; position:absolute; top:-25px; left:0; width:100%; height:25px; }
dialog.block-978[open] .block-978__tooltip-menu-corner, dialog.block-794[open] .block-794__tooltip-menu-corner { left:72px; }
dialog [data-menu-hook][data-expanded="true"] { display:block !important; visibility:visible !important; opacity:1 !important; position:relative !important; }
[data-menu-hook]:not([data-expanded="true"]) { display:none !important; }
.native-dialog-close { position:absolute; right:12px; top:12px; z-index:2; font-size:28px; background:#fff; color:#252525; border:0; width:44px; height:44px; }
.native-form-status { font-size:18px; line-height:1.4; margin:20px 0; }
.native-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.native-form-status[data-error] { color:#a40000; background:#fff; padding:12px; }
.native-quiz-progress { margin-bottom:20px; }
.site-quiz__btn_next, .site-quiz__btn_prev, .site-quiz__btn_submit { visibility:visible; }
.canvas__board { position:relative; }
.canvas__element, .canvas__item { position:absolute; }
.canvas__content { display:table-cell; vertical-align:middle; width:100%; height:100%; box-sizing:border-box; }
.canvas__image { width:100%; display:block; }
.canvas__background, .canvas__filter { position:absolute; inset:0; }
/* Motion is progressive enhancement: native controllers own their inner layers. */
.native-map-link { display:flex; min-height:240px; align-items:center; justify-content:center; font-size:20px; }
.native-gallery { overflow-x:auto; scroll-snap-type:x mandatory; }
.block-967[data-mobile-expanded="true"] { display:block !important; opacity:1 !important; visibility:visible !important; transform:none !important; left:0 !important; top:0 !important; }
.block-280__menu__wrapper[data-mobile-expanded] { position:fixed; inset:0; overflow:auto; }
.site-menuburger { position:relative; z-index:999999; }
.block-886__btn { border:0; }
.site-step-form__step, .site-quiz__quiz-wrapper, .site-quiz__quiz-form-wrapper { height:auto !important; min-height:0 !important; }
.site-step-form__step:not([hidden]) { display:block !important; }
.site-quiz__btn-wrapper { display:flex !important; gap:12px; flex-wrap:wrap; }
.site-quiz__btn-wrapper_sticky { display:none !important; }
.site-quiz__btn-wrapper_sticky .site-quiz__btn-wrapper { display:none !important; }
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
.native-no-script{margin:0;padding:16px 20px;text-align:center;background:#fff;color:#222;font:18px/1.5 system-ui}
.native-no-script a{color:#6634b9;text-decoration:underline;text-underline-offset:.2em}
/* Native menus own visibility; the captured constructor never runs here. */
#t-header[data-native-menu-open] { position:relative; z-index:1000002; }
dialog.block-978[open] .block-978__tooltip-menu,
dialog.block-794[open] .block-794__tooltip-menu { display:block; opacity:1; visibility:visible; position:relative; left:auto; top:auto; width:auto; max-width:100%; transform:none; }
dialog.block-978[open] .block-978__content { flex-wrap:wrap; overflow:visible; }
dialog.block-978[open] .block-978__menu { max-width:100%; flex-shrink:0; }
dialog.block-978[open] .block-978__innermenu { display:none !important; position:static; max-width:100%; max-height:none; overflow:visible; }
dialog.block-978[open] .block-978__innermenu[data-native-expanded="true"] { display:block !important; }
dialog.block-978[open] [data-menu-hook][data-expanded="true"] .block-978__innermenu-content { display:block; opacity:1; position:relative; }
/* Every nested destination is a separate full-width row, as in the source.
   The imported flex-wrap list otherwise packs short links on one line. */
dialog.block-978[open] .block-978__innermenu-list { display:block; }
dialog.block-978[open] .block-978__innermenu-item { width:100%; box-sizing:border-box; }
/* In the mobile overlay the second level opens as a block of the same narrow
   panel, as in the source, instead of stretching it across the screen. */
@media (max-width:980px) {
  dialog.block-978[open] .block-978__content { flex-direction:column; flex-wrap:nowrap; }
  dialog.block-978[open] .block-978__innermenu,
  dialog.block-978[open] .block-978__innermenu-wrapper,
  dialog.block-978[open] .block-978__innermenu-content { width:auto; }
}
/* Submenu openers were anchors in the source: no UA button padding. Zero
   specificity, so the captured mobile row padding still applies. */
:where(button.block-978__menu-link, button.block-794__menu-link) { padding:0; }
/* Keep short-view navigation scrollable without scrolling the inert page. */
.block-280__menu__wrapper[data-mobile-expanded="true"],
.block-967[data-mobile-expanded="true"] { max-height:100vh; max-height:100dvh; overflow-y:auto; overscroll-behavior:contain; }
/* The cookie notice lies over the bottom of the open menu, as in the source.
   The runtime measures the covered strip: a menu that fits is laid out above
   it, a scrolling one gets that much room after its last entry. */
.block-280__menu__wrapper[data-mobile-expanded="true"]:not(.block-280__menu_static) .block-280__menu__container { height:calc(100% - var(--native-notice, 0px)); }
.block-280__menu__wrapper.block-280__menu_static[data-mobile-expanded="true"] .block-280__menu__container,
.block-967[data-mobile-expanded="true"] { padding-bottom:var(--native-notice, 0px); }
/* Undo absolute-only offsets when the simple form card is in normal flow. */
dialog.site-popup[open] .site-popup__container[data-popup-type="702"] { left:auto; right:auto; width:calc(100% - 40px); box-sizing:border-box; }
.site-quiz [data-native-quiz-controls] { opacity:1 !important; }
.site-quiz .site-quiz__btn-wrapper[hidden], .site-quiz .site-quiz__footer-sticky[hidden] { display:none !important; }
.top-certificate-link button[data-open-dialog] { color:#fff; text-decoration:underline; text-underline-offset:.2em; }
/* Preserve the 404 image, typefaces and text; let readable content set height. */
[data-native-not-found] #rec255336282 .site-cover { height:auto !important; min-height:100vh; min-height:100svh; }
/* The captured absolute container cannot contribute its text height to the cover.
   Keep its original responsive columns while moving it back into normal flow. */
[data-native-not-found] #rec255336282 .site-cover > .site-container { position:relative; inset:auto; }
[data-native-not-found] #rec255336282 .site-cover__carrier,
[data-native-not-found] #rec255336282 .site-cover__filter { position:absolute; inset:0; height:100% !important; }
[data-native-not-found] #rec255336282 .site-cover__wrapper { display:flex; align-items:center; width:100%; max-width:100%; min-width:0; height:auto !important; min-height:100vh; min-height:100svh; box-sizing:border-box; padding-block:40px; }
/* The desktop bar overlays the top of the cover and its menu ends at 121px
   (132px when it wraps); the source starts the digits at 182px. */
@media (min-width:981px) { [data-native-not-found] #rec255336282 .site-cover__wrapper { padding-block:115px 117px; } }
[data-native-not-found] #rec255336282 .block-001 { width:100%; min-width:0; }
[data-native-not-found] #rec255336282 .block-001__uptitle [data-customstyle] { font-size:clamp(40px,6vw,62px) !important; line-height:1.1; }
[data-native-not-found] #rec255336282 .block-001__title,
[data-native-not-found] #rec255336282 .block-001__title [data-customstyle] { font-size:clamp(28px,5vw,62px) !important; line-height:1.15; overflow-wrap:anywhere; }
[data-native-not-found] #rec255336282 .block-001__descr,
[data-native-not-found] #rec255336282 .block-001__descr [data-customstyle] { font-size:clamp(18px,3.6vw,52px) !important; line-height:1.5; overflow-wrap:anywhere; }
/* Source promotion: a fixed window frame, delayed reveal, 12h suppression.
   The card inside it is flow markup (flow.css). */
[data-native-promotion] { position:fixed; top:0; left:0; width:100%; z-index:99999; opacity:0; pointer-events:none; }
#t-header[data-native-menu-open] [data-native-promotion] { visibility:hidden; pointer-events:none !important; }

/* Allow only the documented long-text overflow sources to wrap; the existing
   two-cell icon/text layout, typography and desktop widths remain intact. */
.block-497__textwrapper { overflow-wrap:anywhere; }
#rec1531627211 .site-text { overflow-wrap:anywhere; }

/* The source anchors became semantic buttons. Carry across their exact source
   typeface/weight/color and neutralize only the button's extra UA padding. */
#rec1485611471 .block-967 button.site-menu__link-item,
#rec1485611481 button.block-280__menu__link { color:#fff; font-family:'TildaSans'; font-weight:600; padding:0; }

/* Contrast (WCAG 2.2 AA), owner-approved 2026-10-11. Only the colors of the
   text that failed on a light background change; hue and weight are kept.
   Coral #ff8562 on white was 2.39:1, now #dc3100 at 4.68:1; on the map
   fallback's #e5e3df it was 1.86:1, now #be2a00 at 4.65:1; grey #909090 was
   3.19:1, now #757575 at 4.61:1. The Telegram buttons are in flow.css. */
#rec669887862 .site-btntext.site-btntext_type_button,
#rec669841689 .site-btntext.site-btntext_type_button,
#rec668980416 .site-btntext.site-btntext_type_button,
#rec668980416 .site-btntext__text,
#rec669893737 .site-btntext.site-btntext_type_button,
#rec669893737 .site-btntext__text { color:#dc3100 !important; }
#allrecords a.native-map-link { color:#be2a00; }
#allrecords .block-758__link-item__wrapper .site-menu__link-item:not(.block-758__link-item_active) { color:#757575 !important; }

/* Slider dots: the clickable area is 24 x 24 px (WCAG 2.5.8) while the dot,
   its position in the row and its focus ring stay 6 px. The ring moves to a
   pseudo-element because the button box itself is now the large target. */
.site-slds__bullet { padding-left:9px; padding-right:9px; }
.site-slds__bullet_body { position:relative; box-sizing:border-box; width:24px !important; height:24px !important; margin:-9px; padding:9px; background-clip:content-box; }
.site-slds__bullet_body.native-control[aria-current="true"] { box-shadow:none; }
.site-slds__bullet_body.native-control[aria-current="true"]::after { content:''; position:absolute; inset:9px; border-radius:50%; box-shadow:0 0 0 2px currentColor; pointer-events:none; }
