/* ==========================================================================
   Base reset / normalize (no external libs)
   ========================================================================== */

   *,
   *::before,
   *::after {
     box-sizing: border-box;
   }
   
   html {
     -webkit-text-size-adjust: 100%;
     text-size-adjust: 100%;
     color-scheme: light;
     scroll-behavior: smooth;
     overflow-x: clip;
   }
   
   body {
     margin: 0;
   }
   
   img,
   picture,
   video,
   canvas,
   svg {
     display: block;
     max-width: 100%;
   }
   
   input,
   button,
   textarea,
   select {
     font: inherit;
     color: inherit;
   }
   
   button {
     cursor: pointer;
   }
   
   :where(ul, ol) {
     padding-left: 1.25rem;
   }
   
   :where(p, h1, h2, h3, h4, h5, h6, figure) {
     margin: 0;
   }
   
   :where(table) {
     border-collapse: collapse;
     border-spacing: 0;
   }
   
   :where(a) {
     color: inherit;
     text-decoration-thickness: from-font;
     text-underline-offset: 0.16em;
   }
   
   :where(:focus) {
     outline: none;
   }
   
   /* Visible keyboard focus (WCAG AA friendly) */
   :where(:focus-visible) {
     outline: 3px solid var(--focus);
     outline-offset: 2px;
   }
   
   /* ==========================================================================
      Design tokens / layout vars
      ========================================================================== */
   
   :root {
     /* Typography */
     --font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans",
       "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
   
     /* Type scale (base 16px) */
     --text-0: 0.875rem; /* 14 */
     --text-1: 1rem; /* 16 */
     --text-2: 1.125rem; /* 18 */
     --text-3: 1.25rem; /* 20 */
     --text-4: 1.5rem; /* 24 */
     --text-5: 1.875rem; /* 30 */
     --text-6: 2.25rem; /* 36 */
   
     --lh-tight: 1.2;
     --lh-body: 1.6;
   
     /* Spacing */
     --space-1: 0.25rem;
     --space-2: 0.5rem;
     --space-3: 0.75rem;
     --space-4: 1rem;
     --space-5: 1.25rem;
     --space-6: 1.5rem;
     --space-8: 2rem;
     --space-10: 2.5rem;
     --space-12: 3rem;
   
     /* Container/grid */
     --container: 72rem; /* 1152px */
     --gutter: 1rem;
   
     /* App chrome sizes */
     --header-h: 64px;
     --nav-w: 280px;
     --nav-w-compact: 88px;
   
     /* Colors (AA contrast on white) */
     --bg: #ffffff;
     --surface: #f7f8fb;
     --surface-2: #eef1f7;
     --text: #0f172a;
     --muted: #475569;
     --border: #d7deea;
   
     --brand: #2b2685;
     --brand-2: #1f2a66;
     --focus: #0b63ce;
   
     --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
     --shadow-md: 0 10px 25px rgba(15, 23, 42, 0.12);
   
     /* Breakpoints */
     --bp-sm: 640px;
     --bp-lg: 1024px;
   }
   
   /* ==========================================================================
      Page foundation (sticky footer + no horizontal scroll)
      ========================================================================== */
   
   html,
   body {
     height: 100%;
   }
   
   body {
     min-height: 100svh;
     display: flex;
     flex-direction: column;
     font-family: var(--font-sans);
     font-size: var(--text-1);
     line-height: var(--lh-body);
     color: var(--text);
     background: var(--bg);
     overflow-x: clip;
     padding-top: var(--header-h);
   }
   
   /* Make footer stick to bottom when content is short */
   .site-footer-container {
     margin-top: auto;
   }
   
   /* Container utility already present in HTML as .fixed */
   .fixed {
     max-width: var(--container);
     margin-inline: auto;
     padding-inline: clamp(0.875rem, 2.5vw, var(--gutter));
   }
   
   /* A lot of blocks use `.full`; keep it within viewport without `100vw` tricks */
   .full {
     width: 100%;
     max-width: 100%;
   }
   
   /* Prevent common “100vw” overflow patterns (scrollbar width issues) */
   :where(.site-header, #content, .site-content, .site-footer-container) {
     max-width: 100%;
   }
   
   /* SmartSlider / Nextend blocks can overflow on small screens */
   :where([class^="n2-"], [class*=" n2-"]) {
     max-width: 100%;
   }
   
   :where(.n2-ss-slider, .n2-ss-align, .n2-padding, .n2-ss-slider-1, .n2-ss-slider-2, .n2-ss-slider-3, .n2-ss-layers-container, .n2-ss-layer, .n2-ss-layer-row, .n2-ss-layer-col, .n2-ss-slide) {
     max-width: 100%;
   }
   
   /* Images inside sliders sometimes carry fixed widths */
   :where(.n2-ss-slider img, .n2-ss-layer img) {
     max-width: 100%;
     height: auto;
   }
   
   /* ==========================================================================
      Header (fixed on top)
      ========================================================================== */
   
   .site-header {
     position: fixed;
     top: 0;
     left: 0;
     right: 0;
     z-index: 50;
     background: rgba(255, 255, 255, 0.92);
     backdrop-filter: saturate(1.2) blur(10px);
     border-bottom: 1px solid var(--border);
   }
   
   .site-header-inner.fixed {
     min-height: var(--header-h);
     display: flex;
     align-items: center;
     justify-content: space-between;
     gap: var(--space-4);
   }
   
   /* Prevent header from growing and overlapping content */
   .site-header-inner.fixed {
     height: var(--header-h);
     flex-wrap: nowrap;
     overflow: hidden;
   }
   
   .top-menu .menu {
     list-style: none;
     display: flex;
     gap: var(--space-3);
     padding: 0;
     margin: 0;
     align-items: center;
     flex-wrap: wrap;
   }
   
   .top-menu .menu a {
     display: inline-flex;
     align-items: center;
     min-height: 2.25rem;
     padding: 0 var(--space-3);
     border-radius: 0.625rem;
     text-decoration: none;
     color: var(--muted);
   }
   
   .top-menu .menu a:hover {
     background: var(--surface);
     color: var(--text);
   }
   
   .top-menu .menu a:active {
     background: var(--surface-2);
   }
   
   /* Hamburger button (exists as a div in HTML) */
   .humburger {
     width: 44px;
     height: 44px;
     border-radius: 0.75rem;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     gap: 6px;
     background: transparent;
     border: 1px solid transparent;
   }
   
   .humburger:hover {
     background: var(--surface);
     border-color: var(--border);
   }
   
   .humburger:active {
     background: var(--surface-2);
   }
   
   .humburger span {
     display: block;
     width: 18px;
     height: 2px;
     background: var(--text);
     border-radius: 999px;
   }
   
   /* ==========================================================================
      Left navigation (sidebar on desktop, compact on tablet, off-canvas on mobile)
      ========================================================================== */
   
   .main-navigation {
     /* becomes a sidebar in wide layouts; on mobile it's off-canvas */
     z-index: 40;
   }
   
   /* baseline nav styling */
   .main-navigation .menu {
     list-style: none;
     padding: 0;
     margin: 0;
   }
   
   .main-navigation .menu > li {
     margin: 0;
   }
   
   .main-navigation a,
   .main-navigation .removed-link {
     display: flex;
     align-items: center;
     gap: var(--space-2);
     width: 100%;
     padding: 0.625rem 0.75rem;
     border-radius: 0.75rem;
     text-decoration: none;
     color: var(--muted);
     line-height: 1.3;
   }
   
   .main-navigation a:hover,
   .main-navigation .removed-link:hover {
     background: var(--surface);
     color: var(--text);
   }
   
   .main-navigation a:active,
   .main-navigation .removed-link:active {
     background: var(--surface-2);
   }
   
   /* Active menu item (WordPress classes) */
   .main-navigation .current-menu-item > a,
   .main-navigation .current_page_item > a,
   .main-navigation .current-menu-ancestor > a,
   .main-navigation .current-menu-parent > a {
     background: rgba(43, 38, 133, 0.12);
     color: var(--brand-2);
     font-weight: 650;
   }
   
   /* Sub-menu accordion */
   .main-navigation .menu-item-has-children > .removed-link {
     position: relative;
     padding-right: 2.25rem;
   }
   
   .main-navigation .sub-menu {
     list-style: none;
     margin: 0;
     padding: 0 0 0 var(--space-3);
     border-left: 1px solid var(--border);
     overflow: clip;
   }
   
   /* Open states: hover/focus-within (keyboard) + current item/ancestor */
   .main-navigation .menu-item-has-children:hover > .sub-menu,
   .main-navigation .menu-item-has-children:focus-within > .sub-menu,
   .main-navigation .current-menu-ancestor > .sub-menu,
   .main-navigation .current-menu-parent > .sub-menu,
   .main-navigation .current_page_ancestor > .sub-menu {
     max-height: 60vh;
     opacity: 1;
     transform: translateY(0);
   }
   
   .main-navigation .menu-item-has-children:hover > .removed-link::after,
   .main-navigation .menu-item-has-children:focus-within > .removed-link::after,
   .main-navigation .current-menu-ancestor > .removed-link::after,
   .main-navigation .current-menu-parent > .removed-link::after {
     transform: rotate(225deg);
   }
   
   .main-navigation .sub-menu a {
     padding: 0.5rem 0.75rem;
     border-radius: 0.625rem;
   }
   
   /* Sidebar layout at >=1024px */
   @media (min-width: 1024px) {
     .main-navigation {
       position: fixed;
       left: 0;
       top: var(--header-h);
       width: var(--nav-w);
       height: calc(100svh - var(--header-h));
       background: var(--bg);
       border-right: 1px solid var(--border);
       box-shadow: var(--shadow-sm);
       overflow: auto;
     }
   
     .main-navigation-inner.fixed {
       max-width: none; /* sidebar is full-width itself */
       padding: var(--space-4);
     }
   
     /* Shift content + footer to the right of sidebar */
     #content,
     .site-footer-container {
       padding-left: var(--nav-w);
     }
   }
   
   /* 640–1023px: compact/collapsed sidebar */
   @media (min-width: 640px) and (max-width: 1023.98px) {
     .main-navigation {
       position: fixed;
       left: 0;
       top: var(--header-h);
       width: 240px;
       height: calc(100svh - var(--header-h));
       background: var(--bg);
       border-right: 1px solid var(--border);
       box-shadow: var(--shadow-sm);
       overflow: auto;
     }
   
     .main-navigation-inner.fixed {
       max-width: none;
       padding: var(--space-3);
     }
   
     .main-navigation a,
     .main-navigation .removed-link {
       padding: 0.625rem 0.75rem;
       justify-content: flex-start;
       text-align: left;
       border-radius: 0.75rem;
       white-space: nowrap;
       overflow: hidden;
       text-overflow: ellipsis;
     }
   
     /* Hide submenu by default; open on hover/focus */
     .main-navigation .sub-menu {
       padding-left: var(--space-2);
     }
   
     #content,
     .site-footer-container {
       padding-left: 240px;
     }
   }
   
   /* <640px: off-canvas (toggle via JS by adding .nav-open on body) */
   @media (max-width: 639.98px) {
     :root {
       --gutter: 0.875rem;
       --header-h: 60px;
     }
   
     .main-navigation {
       position: fixed;
       left: 0;
       top: 0;
       width: min(88vw, 320px);
       height: 100svh;
       background: var(--bg);
       border-right: 1px solid var(--border);
       box-shadow: var(--shadow-md);
       transform: translateX(-105%);
       transition: transform 220ms ease;
       overflow: auto;
       padding-top: var(--header-h);
     }
   
     .main-navigation-inner.fixed {
       max-width: none;
       padding: var(--space-4);
     }
   
     /* When menu is open (expected JS toggles this class) */
     body.nav-open .main-navigation {
       transform: translateX(0);
     }
   
     /* Backdrop (works only if your JS toggles body.nav-open) */
     body.nav-open::before {
       content: "";
       position: fixed;
       inset: 0;
       background: rgba(15, 23, 42, 0.45);
       z-index: 35;
     }
   
     /* Ensure header stays above backdrop */
     .site-header {
       z-index: 60;
     }
   
     /* No content left padding on mobile */
     #content,
     .site-footer-container {
       padding-left: 0;
     }
   }
   
   /* ==========================================================================
      Main content area + typography
      ========================================================================== */
   
   #content {
     /* keep content below sticky header */
     padding-top: var(--space-6);
   }
   
   .site-content-inner {
     padding-block: var(--space-6);
   }
   
   .entry-title {
     font-size: clamp(var(--text-4), 2.2vw + 1rem, var(--text-6));
     line-height: var(--lh-tight);
     letter-spacing: -0.02em;
     margin-bottom: var(--space-4);
   }
   
   .entry-content {
     color: var(--text);
   }
   
   .entry-content :where(p, ul, ol, table) {
     margin-top: var(--space-4);
   }
   
   .entry-content :where(h2, h3, h4) {
     margin-top: var(--space-10);
     line-height: var(--lh-tight);
     letter-spacing: -0.01em;
   }
   
   .entry-content :where(h2) {
     font-size: clamp(var(--text-3), 1.2vw + 1rem, var(--text-5));
   }
   
   .entry-content :where(h3) {
     font-size: clamp(var(--text-2), 0.8vw + 1rem, var(--text-4));
   }
   
   .entry-content :where(h4) {
     font-size: var(--text-3);
   }
   
   .entry-content :where(a) {
     color: var(--brand-2);
   }
   
   .entry-content :where(a:hover) {
     color: var(--brand);
   }
   
   .entry-content :where(a:active) {
     opacity: 0.85;
   }
   
   .header-html-2 {
       height: 50px;
   }
   
   /* WP Columns: make them wrap nicely and avoid overflow */
   .wp-block-columns {
     display: flex;
     flex-wrap: wrap;
     gap: var(--space-4);
     align-items: start;
   }
   
   .wp-block-column {
     min-width: 0; /* prevents long content from forcing overflow */
     flex: 1 1 18rem;
   }
   
   @media (max-width: 639.98px) {
     .wp-block-columns {
       gap: var(--space-3);
     }
   
     .wp-block-column {
       flex-basis: 100%;
     }
   }
   
   @media (max-width: 639.98px) {
     :root {
       --gutter: 1.125rem;
       --header-h: 76px;
     }
   
     body {
       font-size: 1.0625rem; /* 17px so it doesn't feel cramped */
       line-height: 1.65;
     }
   
     .site-content-inner {
       padding-block: var(--space-6);
     }
   
     .entry-content :where(h2, h3, h4) {
       margin-top: var(--space-8);
     }
   
     /* Header: reduce clutter to prevent wrapping/overflow */
     .site-header-inner.fixed {
       gap: var(--space-2);
       flex-wrap: wrap;
       row-gap: var(--space-2);
     }
   
     /* Keep header usable on phones (show contacts in compact form) */
     .header-html-2 {
       display: block;
       flex: 1 1 auto;
       min-width: 0;
     }
   
     .header-html-2 p {
       margin: 0;
       font-size: 0.9375rem;
       line-height: 1.25;
       text-align: right;
     }
   
     /* Hide the working-hours line to reduce height */
     .header-html-2 br + span {
       display: none;
     }
   
     /* Top menu: show as horizontal scroll row */
     .top-menu {
       display: block;
       flex: 1 1 100%;
       order: 3;
     }
   
     .top-menu .menu {
       flex-wrap: nowrap;
       overflow-x: auto;
       -webkit-overflow-scrolling: touch;
       padding-bottom: var(--space-2);
       scrollbar-width: thin;
     }
   
     .top-menu .menu a {
       white-space: nowrap;
     }
   
     /* Keep any WP buttons/rows from overflowing */
     .wp-block-buttons {
       flex-wrap: wrap;
     }
   }
   
   /* Extra-small phones */
   @media (max-width: 479.98px) {
     :root {
       --header-h: 76px;
     }
   
     .entry-title {
       letter-spacing: -0.01em;
     }
   
     .humburger {
       width: 40px;
       height: 40px;
     }
   }
   
   @media (min-width: 640px) and (max-width: 1023.98px) {
     :root {
       /* Make tablet typography feel less "tiny" */
       --gutter: 1.25rem;
     }
   
     body {
       font-size: 1.0625rem; /* 17px */
     }
   
     /* Slightly tighter spacing on tablets */
     .site-content-inner {
       padding-block: var(--space-5);
     }
   
     /* Header adapts: keep contact info but compact */
     .site-header-inner.fixed {
       flex-wrap: wrap;
       row-gap: var(--space-2);
     }
   
     .header-html-2 {
       flex: 1 1 16rem;
       min-width: 0;
     }
   
     .header-html-2 p {
       margin: 0;
       font-size: 1rem;
       line-height: 1.35;
     }
   
     /* Top menu becomes horizontally scrollable instead of wrapping */
     .top-menu {
       flex: 1 1 100%;
       order: 3;
     }
   
     .top-menu .menu {
       flex-wrap: nowrap;
       overflow-x: auto;
       -webkit-overflow-scrolling: touch;
       padding-bottom: var(--space-2);
       scrollbar-width: thin;
     }
   
     .top-menu .menu a {
       white-space: nowrap;
     }
   }
   
   /* Large desktops: a bit more breathing room */
   @media (min-width: 1280px) {
     :root {
       --gutter: 1.25rem;
     }
   }
   
   /* ==========================================================================
      "Плюсы и минусы электрического отопления" (two-column pros/cons block)
      ========================================================================== */
   
   /* This section in your HTML is: h2 + .wp-block-columns.wp-container-core-columns-is-layout-3 */
   .entry-content
     > h2.wp-block-heading
     + .wp-block-columns.wp-container-core-columns-is-layout-3 {
     margin-top: var(--space-6);
     padding: var(--space-4);
     background: linear-gradient(180deg, var(--surface), transparent 70%);
     border: 1px solid var(--border);
     border-radius: 1rem;
     gap: var(--space-4);
   }
   
   .entry-content
     > h2.wp-block-heading
     + .wp-block-columns.wp-container-core-columns-is-layout-3
     > .wp-block-column {
     background: var(--bg);
     border: 1px solid var(--border);
     border-radius: 0.875rem;
     padding: var(--space-4);
     box-shadow: var(--shadow-sm);
   }
   
   .entry-content
     > h2.wp-block-heading
     + .wp-block-columns.wp-container-core-columns-is-layout-3
     > .wp-block-column
     > h3.wp-block-heading {
     margin-top: 0;
     margin-bottom: var(--space-3);
     font-size: var(--text-3);
     line-height: var(--lh-tight);
     letter-spacing: -0.01em;
   }
   
   /* Remark rows inside pros/cons */
   .entry-content
     > h2.wp-block-heading
     + .wp-block-columns.wp-container-core-columns-is-layout-3
     .wpremark {
     display: flex;
     gap: var(--space-3);
     align-items: flex-start;
     padding: 0.75rem 0.875rem;
     border-radius: 0.75rem;
     border: 1px solid rgba(215, 222, 234, 0.7);
     background: var(--surface);
   }
   
   .entry-content
     > h2.wp-block-heading
     + .wp-block-columns.wp-container-core-columns-is-layout-3
     .wpremark
     + .wpremark {
     margin-top: var(--space-3);
   }
   
   .entry-content
     > h2.wp-block-heading
     + .wp-block-columns.wp-container-core-columns-is-layout-3
     .wpremark-icon {
     flex: 0 0 auto;
     width: 2rem;
     height: 2rem;
     display: grid;
     place-items: center;
     border-radius: 0.625rem;
     background: rgba(43, 38, 133, 0.08);
     color: var(--brand-2);
   }
   
   .entry-content
     > h2.wp-block-heading
     + .wp-block-columns.wp-container-core-columns-is-layout-3
     .wpremark-icon
     svg {
     width: 1.25rem;
     height: 1.25rem;
   }
   
   .entry-content
     > h2.wp-block-heading
     + .wp-block-columns.wp-container-core-columns-is-layout-3
     .wpremark-content
     p {
     margin: 0;
     color: var(--text);
     line-height: 1.45;
   }
   
   /* Color coding: left column (pros) vs right column (cons) */
   .entry-content
     > h2.wp-block-heading
     + .wp-block-columns.wp-container-core-columns-is-layout-3
     > .wp-block-column:first-child
     .wpremark-icon {
     background: rgba(16, 185, 129, 0.12);
     color: #065f46;
   }
   
   .entry-content
     > h2.wp-block-heading
     + .wp-block-columns.wp-container-core-columns-is-layout-3
     > .wp-block-column:last-child
     .wpremark-icon {
     background: rgba(239, 68, 68, 0.12);
     color: #7f1d1d;
   }
   
   /* Layout: prefer grid for this section */
   @media (min-width: 640px) {
     .entry-content
       > h2.wp-block-heading
       + .wp-block-columns.wp-container-core-columns-is-layout-3 {
       display: grid;
       grid-template-columns: 1fr 1fr;
       align-items: start;
     }
   }
   
   @media (max-width: 639.98px) {
     .entry-content
       > h2.wp-block-heading
       + .wp-block-columns.wp-container-core-columns-is-layout-3 {
       padding: var(--space-3);
     }
   
     .entry-content
       > h2.wp-block-heading
       + .wp-block-columns.wp-container-core-columns-is-layout-3
       > .wp-block-column {
       padding: var(--space-3);
     }
   }
   
   /* Tables */
   table {
     width: 100%;
     table-layout: auto;
     background: var(--bg);
     border: 1px solid var(--border);
     border-radius: 0.75rem;
     overflow: hidden;
   }
   
   /* TablePress: ensure table fills container */
   .tablepress {
     width: 100% !important;
   }
   
   /* Very wide TablePress tables: scroll inside wrapper, not the page */
   .tablepress-scroll-wrapper {
     width: 100%;
     overflow-x: auto;
     -webkit-overflow-scrolling: touch;
   }
   
   /* Specific fix: table after "Работаем по всей территории..." (#tablepress-13) */
   #tablepress-13-scroll-wrapper {
     margin-top: var(--space-4);
     border: 1px solid var(--border);
     border-radius: 0.75rem;
     background: var(--bg);
     box-shadow: var(--shadow-sm);
   }
   
   #tablepress-13 {
     border: 0;
     border-radius: 0;
     width: max-content !important; /* keep all columns */
     min-width: 100%;
   }
   
   #tablepress-13 td,
   #tablepress-13 th {
     white-space: nowrap;
   }
   
   td,
   th {
     padding: 0.75rem 0.875rem;
     border-bottom: 1px solid var(--border);
     vertical-align: top;
   }
   
   tr:last-child td,
   tr:last-child th {
     border-bottom: 0;
   }
   
   .tablepress-responsive {
     /* In this HTML the class is on the <table>, keep it as a table */
     display: table;
     width: 100%;
     overflow-x: auto;
     -webkit-overflow-scrolling: touch;
   }
   
   /* Avoid mobile horizontal scroll from long words/urls */
   :where(p, li, td, th, a) {
     overflow-wrap: anywhere;
     word-break: normal;
   }
   
   /* Global overflow guard for embedded blocks/sliders */
   #content :where(iframe, embed, object) {
     max-width: 100%;
   }
   
   /* WP cover/images sometimes carry large fixed widths */
   .entry-content :where(.wp-block-cover, .wp-block-image, .wp-block-media-text) {
     max-width: 100%;
   }
   
   /* ==========================================================================
      Footer
      ========================================================================== */
   
   .footer-navigation {
     border-top: 1px solid var(--border);
     background: var(--surface);
   }
   
   .footer-navigation .menu {
     list-style: none;
     padding: var(--space-4) 0;
     margin: 0;
     display: flex;
     justify-content: center;
     gap: var(--space-3);
     flex-wrap: wrap;
   }
   
   .footer-navigation .menu a {
     display: inline-flex;
     align-items: center;
     min-height: 2.25rem;
     padding: 0 var(--space-3);
     border-radius: 0.625rem;
     text-decoration: none;
     color: var(--muted);
   }
   
   .footer-navigation .menu a:hover {
     background: rgba(15, 23, 42, 0.06);
     color: var(--text);
   }
   
   .site-footer {
     background: var(--surface-2);
     border-top: 1px solid var(--border);
   }
   
   .site-footer-inner.fixed {
     padding-block: var(--space-4);
   }
   
   .footer-bottom {
     display: flex;
     flex-wrap: wrap;
     gap: var(--space-4);
     align-items: flex-start;
     justify-content: space-between;
   }
   
   .footer-info {
     color: var(--muted);
     font-size: var(--text-0);
     line-height: 1.5;
   }
   
   /* ==========================================================================
      Utility spacing classes (consistent)
      ========================================================================== */
   
   .u-mt-0 {
     margin-top: 0 !important;
   }
   .u-mt-2 {
     margin-top: var(--space-2) !important;
   }
   .u-mt-4 {
     margin-top: var(--space-4) !important;
   }
   .u-mt-6 {
     margin-top: var(--space-6) !important;
   }
   .u-mt-8 {
     margin-top: var(--space-8) !important;
   }
   .u-mb-0 {
     margin-bottom: 0 !important;
   }
   .u-mb-2 {
     margin-bottom: var(--space-2) !important;
   }
   .u-mb-4 {
     margin-bottom: var(--space-4) !important;
   }
   .u-mb-6 {
     margin-bottom: var(--space-6) !important;
   }
   .u-mb-8 {
     margin-bottom: var(--space-8) !important;
   }
   .u-p-4 {
     padding: var(--space-4) !important;
   }
   .u-px-4 {
     padding-inline: var(--space-4) !important;
   }
   .u-py-4 {
     padding-block: var(--space-4) !important;
   }
   
   /* ==========================================================================
      Reduced motion
      ========================================================================== */
   
   @media (prefers-reduced-motion: reduce) {
     * {
       scroll-behavior: auto !important;
       transition-duration: 0.01ms !important;
       animation-duration: 0.01ms !important;
       animation-iteration-count: 1 !important;
     }
   }
   
   /* ==========================================================================
      Print styles
      ========================================================================== */
   
   @media print {
     html {
       scroll-behavior: auto;
     }
   
     body {
       background: #fff;
       color: #000;
       overflow: visible;
     }
   
     .site-header,
     .main-navigation,
     .footer-navigation,
     .footer-counters {
       display: none !important;
     }
   
     #content,
     .site-footer-container {
       padding-left: 0 !important;
     }
   
     a {
       color: #000;
       text-decoration: underline;
     }
   
     table {
       border-color: #000;
     }
   }
   
   /* ==========================================================================
      FAQ: make questions always visible (no hidden accordions)
      ========================================================================== */
   
   .expert-review-faq {
     margin-top: var(--space-6);
     padding: var(--space-4);
     border: 1px solid var(--border);
     border-radius: 1rem;
     background: linear-gradient(180deg, var(--surface), transparent 70%);
   }
   
   .expert-review-faq-item {
     background: var(--bg);
     border: 1px solid var(--border);
     border-radius: 0.875rem;
     padding: var(--space-4);
     box-shadow: var(--shadow-sm);
   }
   
   .expert-review-faq-item + .expert-review-faq-item {
     margin-top: var(--space-3);
   }
   
   .expert-review-faq-item__question {
     font-weight: 700;
     color: var(--text);
     line-height: 1.35;
   }
   
   /* Unhide answers by default (override inline display:none) */
   .expert-review-faq-item__answer {
     display: block !important;
     margin-top: var(--space-2);
     color: var(--muted);
   }
   
   .expert-review-faq-item__answer :where(p, span) {
     display: inline;
   }
   