/*
 * Ziggurat BIM — Main CSS
 * Only design tokens (CSS variables) + minimal base.
 * All project-specific styles are written per project.
 */

/* ── Onest ──────────────────────────────────────────────────────────────── */
/* Файли кладуться у fonts/. Потрібні накреслення — 300 / 400 / 600 / 800,
   формат woff2, обовʼязково з кириличним набором. */

@font-face {
    font-family: 'Onest';
    src: url('../fonts/Onest-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Onest';
    src: url('../fonts/Onest-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Onest';
    src: url('../fonts/Onest-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Onest';
    src: url('../fonts/Onest-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* ── Design tokens ──────────────────────────────────────────────────────── */
/* Джерело — UI kit у Figma. Значення знімалися з макета, не підбиралися.
   Тема темна: базовий фон чорний, секції та картки — напівпрозорі
   темно-сині поверхні поверх нього. */
:root {
    /* Бренд */
    --color-primary:       #3971eb;
    --color-primary-light: #4c8dff;
    --color-secondary:     #05a5ff;
    --color-accent:        #ff5c1a;
    --color-amber:         #f5a524;
    --color-yellow:        #ffc203;
    --color-sky:           #77c6ff;

    /* Поверхні */
    /* Базове полотно сторінки — виміряно піпеткою з Figma (той самий
       відтінок, що й у .clients: #031c45). Секції без власного fill
       (як SEO у макеті) мають лягати саме на цей колір, а не на чорний —
       інакше на межі з сусідньою секцією видно різкий перепад. Секції
       з власним поверхневим кольором (hero, clients, footer) його
       перекривають і цей токен на них не впливає. */
    --color-bg:      #031c45;
    --color-bg-alt:  #06091a;
    --surface-card:  linear-gradient(164deg, rgba(19, 29, 52, .72) 0%, rgba(10, 17, 33, .62) 78%);
    --surface-soft:  rgba(255, 255, 255, .05);
    --surface-chip:  rgba(255, 255, 255, .04);

    /* Текст */
    --color-text:       #edf2ff;
    --color-text-soft:  #b7c3de;
    --color-muted:      #93a2c4;
    --color-text-light: #b8d1ff;

    /* Лінії */
    --color-border:        #1b2436;
    --color-border-strong: #26314a;
    --color-border-blue:   #20345e;
    --color-border-hover:  #084f86;

    /* Градієнти */
    --gradient-brand:   linear-gradient(122deg, #2c5ce6 0%, #4c8dff 24%, #6366f1 48%, #8b5cf6 68%, #ff7a34 87%);
    --gradient-heading: linear-gradient(109deg, #9cc0ff 0%, #b9a6ff 39%, #ffc77a 87%);
    --gradient-stat:    linear-gradient(174deg, #eaf1ff 0%, #9cc0ff 29%, #ffbb78 72%);
    --gradient-dot:     linear-gradient(135deg, #f5a524 0%, #ff7a34 71%);
    /* Це стиль «Gradient-2» з макета — звірено на вузлі 299:1435 (h2 секції
       seo), який до нього прив'язаний, і на 2066:2473 (h1 хіро) з тим самим
       значенням прямою заливкою. Іменований стиль — найнадійніше джерело,
       надійніше за хекси з codegen на довільному шарі.
       Було `#ffbf7a 91.83%` — застаріле значення: помаранчевий насиченіший
       і діставався ще до кінця тексту, останні 8% йшли рівним кольором. */
    --gradient-accent:  linear-gradient(90deg, #008eee 0%, #acd5ff 38.462%, #fcc891 100%);

    /* Роздільна лінія секцій. Повторюється по всьому сайту —
       використовувати через .divider або .has-line-top, не копіювати. */
    --gradient-line:    linear-gradient(90deg,
                            rgba(0, 142, 238, 0)    0%,
                            rgba(0, 142, 238, .6)   20.67%,
                            rgba(172, 213, 255, .8) 50%,
                            rgba(255, 159, 194, .6) 80.77%,
                            rgba(255, 159, 194, 0)  100%);

    /* Типографіка */
    --font-body:    Onest, sans-serif;
    --font-heading: Onest, sans-serif;
    --line-height:  1.6;

    /* Розміри тексту — зняті з макета. Ролі, для яких у макеті ще не було
       зразка (h2/h3 секцій), додаються сюди в міру верстки. */
    --fs-h1:      58px;   --lh-h1:      63px;   --ls-h1:      -1.9px;
    --fs-stat:    34px;   --lh-stat:    38px;   --ls-stat:    -1.2px;
    --fs-lead:    18.5px; --lh-lead:    32px;   --ls-lead:    -0.1px;
    --fs-body:    16px;
    --fs-small:   15px;   --lh-small:   25px;   --ls-small:   -0.08px;
    --fs-button:  15.5px; --lh-button:  20px;   --ls-button:  -0.15px;
    --fs-chip:    14.4px; --lh-chip:    20px;   --ls-chip:    -0.07px;
    --fs-eyebrow: 13px;   --lh-eyebrow: 18px;   --ls-eyebrow: 1.82px;

    /* Layout — контент у макеті 1304px при полотні 1920px */
    --container-width:   1340px;
    --container-wide:    1680px;  /* хедер у макеті ширший за контент */
    --container-padding: 20px;

    /* Відступ крихт від низу шапки. Однаковий на всіх сторінках. */
    --breadcrumbs-top:   40px;

    /* UI */
    --radius:      14px;
    --radius-sm:   3px;
    --radius-card: 24px;
    --radius-pill: 100px;
    --transition:  0.2s ease;

    --shadow:       0 20px 60px -20px rgba(6, 9, 26, .75);
    --shadow-card:  0 20px 60px -20px rgba(0, 0, 0, .75);
    --shadow-glow:  0 22px 74px -26px rgba(45, 140, 255, .95);
    --shadow-btn:   0 16px 40px -16px rgba(76, 141, 255, .6);

    /* Header / Footer */
    --header-height: 70px;
    --header-bg:     #000000;
    --footer-bg:     #06091a;
    --footer-color:  #b7c3de;

    /* Z-indexes */
    --z-dropdown: 100;
    --z-sticky:   200;
    --z-modal:    400;
}

/* ── Base ───────────────────────────────────────────────────────────────── */
html {
    font-size: 16px;
    scroll-padding-top: var(--header-height);
    /* Резервує місце під вертикальний скролбар завжди, а не лише коли
       сторінка вже довша за екран. Без цього динамічний контент (розгортання
       карток галузей, акордеони тощо), що вперше робить сторінку довшою за
       viewport, спричиняє появу скролбару в момент розгортання — і весь
       відцентрований контент помітно зсувається вбік. */
    scrollbar-gutter: stable;
}

body {
    font-family:      var(--font-body);
    line-height:      var(--line-height);
    color:            var(--color-text);
    background-color: var(--color-bg);
    display:          flex;
    flex-direction:   column;
    min-height:       100vh;
}

.site      { display: flex; flex-direction: column; min-height: 100vh; }
.site-main { flex: 1; }

h1, h2, h3, h4, h5, h6 {
    font-family:  var(--font-heading);
    font-weight:  800;
    color:        var(--color-text);
    line-height:  1.1;
}

h1 {
    font-size:      var(--fs-h1);
    line-height:    var(--lh-h1);
    letter-spacing: var(--ls-h1);
}

a {
    color:           var(--color-primary-light);
    text-decoration: none;
    transition:      color var(--transition);
}

a:hover,
a:focus-visible { color: var(--color-sky); }

::selection { background: var(--color-primary); color: #fff; }

.container {
    width:     100%;
    max-width: var(--container-width);
    padding:   0 20px;
    margin:    0 auto;
}

/* ── Адаптив ────────────────────────────────────────────────────────────── */
/* Брейкпоінти: ПК (база) → 1024px таблет → 768px мобайл.
   CSS-змінні не працюють в умові @media, тому значення пишемо числом. */

@media (max-width: 1024px) {
    :root {
        --fs-h1: 44px;   --lh-h1: 50px;
        --fs-stat: 28px; --lh-stat: 32px;

        --breadcrumbs-top: 32px;
    }
}

@media (max-width: 768px) {
    :root {
        --header-height:     56px;
        --container-padding: 16px;

        --breadcrumbs-top:   24px;

        --fs-h1:   34px;   --lh-h1:   40px;   --ls-h1: -1px;
        --fs-stat: 26px;   --lh-stat: 30px;
        --fs-lead: 16px;   --lh-lead: 26px;
    }

    .container { padding: 0 16px; }
}

/* ── Ейбрау-мітка секції ────────────────────────────────────────────────── */
/* Жовта крапка + підпис над заголовком секції. Однакова в SEO, Services
   і далі за списком — тому тут, а не дублюється в кожному css/pages/*.css. */
.section-eyebrow {
    display:        flex;
    align-items:    center;
    gap:            10px;
    font-size:      13px;
    font-weight:    600;
    line-height:    18px;
    letter-spacing: 1.82px;
    text-transform: uppercase;
    color:          var(--color-yellow);
}

.section-dot {
    width:         9px;
    height:        9px;
    border-radius: 3px;
    background:    var(--color-yellow);
}


/* ── Ритм угорі першої секції ───────────────────────────────────────────
   Надзаголовок → 20px → H1 → 26px → лід. Однаково на всіх сторінках, щоб
   верх не стрибав при переходах між ними.

   Правила добирають ЛИШЕ те, чого не дає власна розкладка хіро:
   у блокових хіро — відступи навколо H1, у флексових — 6px до зазору 20px,
   щоб під H1 вийшли ті самі 26px. Специфічність (0,2,1) навмисно вища за
   сторінкові `.x-hero h1` (0,2,0), інакше кожна сторінка лишила б своє. */
.site-main > section:first-of-type :is(.section-eyebrow, .public-eyebrow, [class*="__eyebrow"]),
.site-main > article > section:first-of-type :is(.section-eyebrow, .public-eyebrow, [class*="__eyebrow"]) {
    margin-bottom: 20px;
}

.site-main > section:first-of-type h1,
.site-main > article > section:first-of-type h1 {
    margin-top:    0;
    margin-bottom: 26px;
}

/* У флексовій обгортці зазор і відступ додаються, тому там margin менший:
   20 (gap) + 0 = 20 над H1 і 20 + 6 = 26 під ним. */
.site-main > section:first-of-type :is(div, header):is([style*="flex"], .service-hero__content, .about-hero__content, .projects-hero__content, .bim-hero__intro, .coord-hero__content, .hero__wrp) > :is(.section-eyebrow, .public-eyebrow, [class*="__eyebrow"]) {
    margin-bottom: 0;
}

.site-main > section:first-of-type :is(.service-hero__content, .about-hero__content, .projects-hero__content, .bim-hero__intro, .coord-hero__content, .hero__wrp) > h1 {
    margin-bottom: 6px;
}

/* ── Градієнтна лінія ───────────────────────────────────────────────────── */
/* Два способи вжитку:
   .divider       — окремий елемент-роздільник усередині блоку;
   .has-line-top  — лінія як верхня межа секції (замість border-top,
                    бо градієнт у border не працює).
   Обидва тягнуть один токен — правити колір лінії треба лише в ньому. */

.divider {
    display:    block;
    width:      100%;
    height:     1px;
    border:     0;
    background: var(--gradient-line);
}

.has-line-top,
.has-line-bottom { position: relative; }

.has-line-bottom::after,
.has-line-top::before {
    content:        '';
    position:       absolute;
    top:            0;
    left:           0;
    right:          0;
    height:         1px;
    background:     var(--gradient-line);
    pointer-events: none;
}

.has-line-bottom::after {
    top:    auto;
    bottom: 0;
}

/* ── Текст із мета-поля ─────────────────────────────────────────────────── */
/* Розмітка, яку віддає Theme\rich_content(): абзаци з булітами одним
   потоком і список пунктів зі значком. Тут лише структура — розмір
   шрифту, колір і відступ між блоками задає секція, бо в макетах вони
   різні. */
.rich-text {
    display:        flex;
    flex-direction: column;
    gap:            10px;
}

.rich-text p { margin: 0; }

.rich-bullets {
    margin:       0;
    padding-left: 21px;
    list-style:   disc;
}

/* display:list-item обов'язковий: reset.css робить усі li блоками, а блок
   маркера не генерує — list-style на ul при цьому ні на що не впливає. */
.rich-bullets li { display: list-item; }

.rich-bullets li::marker { color: rgba(184, 209, 255, .7); }

.rich-checks {
    display:        flex;
    flex-direction: column;
    gap:            16px;
    margin:         0;
    padding:        0;
    list-style:     none;
}

.rich-check {
    --rich-icon: 16px;

    display:     flex;
    align-items: flex-start;
    gap:         8px;
}

/* Значок центрується по ПЕРШОМУ рядку, а не по всьому пункту: інакше в
   пункті на два рядки він з'їжджав би на середину блока. 1.6em — висота
   рядка списку; секція, що міняє іконку, перевизначає --rich-icon. */
.rich-check .icon {
    flex:       none;
    margin-top: calc((1.6em - var(--rich-icon)) / 2);
    color:      var(--color-light-blue, #77c6ff);
}

/* ── Хлібні крихти ──────────────────────────────────────────────────────── */
/* Повторюються на кожній внутрішній сторінці (global/breadcrumbs.php) —
   тому тут, а не в css/pages/{slug}.css. */
/* Перша секція сторінки резервує смугу під крихти: вони вийняті з потоку,
   тож самі місця не займають, і без цього ейбрау з H1 заїхали б під них.
   Висота смуги = відступ крихт + 30 (їхня висота) + зазор під ними.
   Зазор — 40px на всьому сайті, щоб відстань від крихт до надзаголовка
   не стрибала між сторінками. Сторінка може перевизначити його змінною
   --crumbs-gap, але це виняток, а не правило.
   Специфічність навмисно вища за сторінкові правила хіро: інакше кожна
   сторінка лишила б свій падінг і рівняння знову розпалося б. */
.site-main > section:first-of-type,
.site-main > article > section:first-of-type {
    padding-top: calc(var(--breadcrumbs-top) + 30px + var(--crumbs-gap, 40px));
}

/* Крихти — хром сторінки, а не частина хіро: у розмітці вони прямий нащадок
   секції-хіро й вийняті з потоку. Інакше на сторінках, де вміст хіро
   центрується по вертикалі (Про нас, Житлова, Проєкти, Партнери, Контакти,
   галузеві public-*), їхня висота залежала б від кількості тексту нижче —
   розрив від шапки гуляв від 40 до 122px. Тепер він однаковий скрізь:
   40px, 32px на планшеті й 24px на мобільному (еталон — /poslugy/upravlinnya-bim/).

   Горизонтальні поля повторюють .container тією самою формулою, що й
   .has-line-* нижче, — щоб крихти стояли рівно під лого, хоч секція й
   на всю ширину. */
.breadcrumbs {
    position:       absolute;
    z-index:        3;
    top:            var(--breadcrumbs-top, 40px);
    right:          0;
    left:           0;
    padding-left:   max(var(--container-padding), calc((100% - var(--container-width)) / 2 + var(--container-padding)));
    padding-right:  max(var(--container-padding), calc((100% - var(--container-width)) / 2 + var(--container-padding)));
    pointer-events: none;
}

/* Клікабельні лише самі посилання — прозора смуга на всю ширину не має
   перехоплювати кліки по хіро. */
.breadcrumbs__list { pointer-events: auto; }

.breadcrumbs__list {
    display:     flex;
    flex-wrap:   wrap;
    align-items: center;
    gap:         4px;
    list-style:  none;
}

.breadcrumbs__item {
    display:     flex;
    align-items: center;
    gap:         4px;
}

.breadcrumbs__link {
    padding:         4px 6px;
    font-size:       14px;
    line-height:     1.6;
    color:           rgba(169, 200, 255, .7);
    text-decoration: none;
    white-space:     nowrap;
}

a.breadcrumbs__link:hover { color: var(--color-text-light); }

.breadcrumbs__link.is-current { color: #a9c8ff; }

.breadcrumbs__sep {
    display:     flex;
    flex:        none;
    color:       rgba(169, 200, 255, .7);
    transform:   rotate(90deg);
}

@media (max-width: 520px) {
    /* Довгий ланцюжок на вузькому екрані переноситься на два рядки й
       заїжджає у вміст хіро — крихти ж вийняті з потоку. Лишаємо два
       останні рівні: той самий прийом, що вже стояв на сторінці проєкту.
       Назва сторінки за потреби обрізається трьома крапками, щоб рядок
       не переносився навіть на 320px. */
    .breadcrumbs__item { display: none; }

    .breadcrumbs__item:nth-last-child(2),
    .breadcrumbs__item:last-child { display: flex; min-width: 0; }

    .breadcrumbs__list { flex-wrap: nowrap; }

    .breadcrumbs__item:last-child .breadcrumbs__link {
        overflow:      hidden;
        text-overflow: ellipsis;
        white-space:   nowrap;
    }
}

/* ── FAQ-акордеон ───────────────────────────────────────────────────────── */
/* Спільний для всіх сторінок, де є список питань-відповідей (Головна,
   koordynacziya-system, …) — однакова логіка розгортання (js/main.js,
   faqAccordion()), однакова верстка картки. Кожна сторінка задає лише
   .faq (відступи секції) і .faq__decor/.faq__city (своє фонове фото) та
   .faq__title .is-accent (свій градієнт) у власному css/pages/{slug}.css —
   решта спільна, щоб не дублювати той самий акордеон у кожній секції. */
.faq__list {
    display:        flex;
    flex-direction: column;
    gap:            12px;
    width:          100%;
    max-width:      912px;
}

.faq-item {
    border:        1px solid var(--color-border-blue);
    border-radius: 16px;
    background:    #101f40;
    box-shadow:    0 10px 5px rgba(0, 0, 0, .45);
    transition:    border-color var(--transition), box-shadow var(--transition);
}

.faq-item.is-open {
    border-color: var(--color-border-hover);
    box-shadow:   0 2px 17px rgba(45, 140, 255, .35);
}

.faq-item__toggle {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    gap:             16px;
    width:           100%;
    padding:         24px;
    background:      none;
    border:          0;
    cursor:          pointer;
    text-align:      left;
    font:            inherit;
}

.faq-item__question {
    font-size:   18px;
    font-weight: 600;
    line-height: 1.6;
    color:       #fff;
}

.faq-item__icon {
    display:         inline-flex;
    flex:            none;
    align-items:     center;
    justify-content: center;
    width:           32px;
    height:          32px;
    background:      rgba(38, 49, 74, .2);
    border:          1px solid var(--color-border-blue);
    border-radius:   8px;
    transition:      background var(--transition), border-color var(--transition);
}

.faq-item__icon-svg { transform: rotate(180deg); transition: transform var(--transition); }

.faq-item.is-open .faq-item__icon {
    background:   #0e2652;
    border-color: var(--color-border-hover);
}

.faq-item.is-open .faq-item__icon-svg { transform: rotate(0deg); }

.faq-item__panel {
    max-height: 0;
    overflow:   hidden;
    transition: max-height .4s ease;
}

.faq-item.is-open .faq-item__panel { max-height: none; }

.faq-item__answer {
    margin:      0;
    padding:     0 24px 24px;
    font-size:   18px;
    line-height: 1.6;
    color:       var(--color-text-light);
}

/* .faq-item__answer як обгортка (не <p>) для секцій із багаторядковою
   відповіддю (параграфи/списки через Theme\rich_content()) — .rich-text
   сам задає відступ між своїми блоками, зовнішній padding той самий. */
.faq-item__answer .rich-text:first-child { margin-top: 0; }

@media (prefers-reduced-motion: reduce) {
    .faq-item__panel,
    .faq-item__icon-svg { transition: none; }
}

@media (max-width: 768px) {
    .faq-item__toggle { padding: 18px; }
    .faq-item__question { font-size: 16px; }
    .faq-item__answer { padding: 0 18px 18px; font-size: 15px; }
}

/* Screen reader text — required by WordPress */
.screen-reader-text {
    clip:     rect(1px, 1px, 1px, 1px);
    height:   1px;
    overflow: hidden;
    position: absolute;
    width:    1px;
}
.screen-reader-text:focus {
    clip:       auto;
    height:     auto;
    left:       5px;
    top:        5px;
    padding:    15px 23px;
    background: #f1f1f1;
    color:      #21759b;
    display:    block;
    font-weight: 600;
    z-index:    100000;
}


/* ── Секція «Клієнти» ───────────────────────────────────────────────────── */
/* Перенесено з css/pages/home.css: блок використовується на ДВОХ сторінках —
   Головна і архів «Проєкти». Слайдер (Slick) — у js/clients.js, теж спільний.
   Контент секції живе в JetEngine → Options Pages → Theme options. */

.clients {
    position:   relative;
    overflow:   hidden;
    padding:    70px 0;
    background: #031c45;
}
.clients__head {
    display:         flex;
    align-items:     center;
    justify-content: space-between;
    gap:             24px;
}
.clients__track-wrap {
    position:      relative;
    margin-top:    26px;
    padding-left:  max(var(--container-padding), calc((100% - var(--container-width)) / 2 + var(--container-padding)));
    overflow:      hidden;
}
.clients__fade {
    position:       absolute;
    top:            0;
    bottom:         0;
    width:          200px;
    pointer-events: none;
    z-index:        2;
}
.clients__fade--right {
    right:      0;
    background: linear-gradient(270deg, #031d47 0%, rgba(3, 29, 71, 0) 100%);
}
.clients__title {
    margin:                  0;
    font-size:               14px;
    font-weight:             600;
    line-height:             18px;
    letter-spacing:          2.25px;
    text-transform:          uppercase;
    background-image:        var(--gradient-accent);
    -webkit-background-clip: text;
    background-clip:         text;
    color:                   transparent;
    -webkit-text-fill-color: transparent;
}
.clients__arrows {
    display: flex;
    gap:     10px;
    flex:    none;
}
.clients__arrow {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    width:           43px;
    height:          43px;
    background:      var(--surface-soft);
    border:          1px solid var(--color-border-blue);
    border-radius:   13px;
    color:           #fff;
    cursor:          pointer;
    transition:      border-color var(--transition), background var(--transition);
}
.clients__arrow:hover,
.clients__arrow:focus-visible {
    border-color: var(--color-border-hover);
    background:   rgba(255, 255, 255, .09);
}
.clients__arrow--prev .icon { transform: scaleX(-1); }
.clients__track { list-style: none; }
.clients__item {
    /* !important: те саме, що й у .team-card / .testimonial-card — Slick
       перебиває display на block двокласовим селектором. */
    display:       flex !important;
    align-items:   center;
    height:        82px;
    padding:       10px;
    margin-right:  10px;
    background:    #091c38;
    border:        1px solid var(--color-border-blue);
    border-radius: 20px;
}
.clients__logo {
    display:    block;
    width:      auto;
    height:     60px;
    max-width:  none;
    object-fit: contain;
}
.clients .slick-track {
    display:     flex;
    align-items: center;
}
.clients .slick-list { overflow: hidden; }
.clients .slick-slide { height: auto; }


@media (max-width: 1024px) {
    .clients__fade { width: 120px; }
}


@media (max-width: 768px) {
    .clients__fade { width: 16px; }
}


/* ══════════════════════════════════════════════════════════════════════════
   Єдина система CTA-кнопок сайту
   Ширина лишається контекстною; уніфіковані висота, типографіка, відступи,
   радіус і розташування стрілки. Службові кнопки хедера/акордеонів не зачіпає.
   ══════════════════════════════════════════════════════════════════════════ */
.site-main :is(a.btn, button.btn, input.btn) {
    box-sizing: border-box !important;
    min-height: 56px !important;
    height: auto !important;
    padding: 16px 24px !important;
    border-radius: 10px !important;
    font-size: 15.5px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    letter-spacing: normal !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    text-align: center !important;
    white-space: normal !important;
}
.site-main :is(a.btn, button.btn):has(.icon, .icon-arrow, svg) {
    justify-content: space-between !important;
}
.site-main :is(a.btn, button.btn) :is(.icon, .icon-arrow, svg) {
    flex: 0 0 17px !important;
    width: 17px !important;
    height: 17px !important;
    margin-left: 4px !important;
}
.site-main :is(a.btn, button.btn) .btn__label {
    min-width: 0 !important;
    line-height: 1.4 !important;
}
@media (max-width: 480px) {
    .site-main :is(a.btn, button.btn, input.btn) {
        max-width: 100% !important;
        padding-right: 20px !important;
        padding-left: 20px !important;
    }
}


/* Hide only the yellow eyebrow label in the first-screen hero on every page. */
.site-main > section:first-of-type :is(.section-eyebrow, .public-eyebrow, [class*="__eyebrow"]),
.site-main > article > section:first-of-type :is(.section-eyebrow, .public-eyebrow, [class*="__eyebrow"]) {
    display: none !important;
}


/* Unified approved gradient separators below every main page block. */
.site-main > section,
.site-main > article > section {
  position: relative;
  border-bottom: 1px solid transparent !important;
  border-image-source: var(--gradient-line) !important;
  border-image-slice: 1 !important;
}

/* Keep legacy pseudo-element separators on the same approved gradient. */
.site-main > section.has-line-bottom::after,
.site-main > article > section.has-line-bottom::after {
  background-image: var(--gradient-line) !important;
}


/* Prevent doubled separators where legacy pseudo-lines already exist. */
.site-main > section.has-line-bottom,
.site-main > article > section.has-line-bottom {
  border-bottom: 0 !important;
  border-image: none !important;
}

/* Direct page sections now use bottom separators; suppress duplicate top lines. */
.site-main > section.has-line-top::before,
.site-main > article > section.has-line-top::before {
  display: none !important;
}


/* Keep approved separators visible above adjacent section backgrounds. */
:root {
  --gradient-line: linear-gradient(90deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 152, 240, .08) 8%,
    rgba(0, 152, 240, .48) 30%,
    rgba(237, 242, 255, .72) 52%,
    rgba(242, 200, 147, .46) 74%,
    rgba(242, 200, 147, .08) 92%,
    rgba(0, 0, 0, 0) 100%);
}

.site-main > section.has-line-bottom::after,
.site-main > article > section.has-line-bottom::after {
  display: block !important;
  z-index: 20 !important;
  opacity: 1 !important;
  height: 1px !important;
  background: var(--gradient-line) !important;
}

/* True-centered content CTA buttons. Header controls remain unchanged. */
body .site-main .btn.btn,
body footer .btn.btn {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 56px !important;
  height: auto !important;
  padding: 12px 56px !important;
  font-weight: 400 !important;
  text-align: center !important;
}

body .site-main .btn.btn > .btn__label,
body footer .btn.btn > .btn__label {
  font-weight: 400 !important;
  text-align: center !important;
}

body .site-main .btn.btn > .icon-arrow,
body footer .btn.btn > .icon-arrow {
  position: absolute !important;
  top: 50% !important;
  right: 24px !important;
  margin: 0 !important;
  transform: translateY(-50%) !important;
  flex: 0 0 auto !important;
}

@media (max-width: 767px) {
  body .site-main .btn.btn,
  body footer .btn.btn {
    padding-right: 48px !important;
    padding-left: 48px !important;
  }

  body .site-main .btn.btn > .icon-arrow,
  body footer .btn.btn > .icon-arrow {
    right: 20px !important;
  }
}


/* Site-wide hero trust-card unification — approved /pro-nas/ reference */
:where(.hero__stats,.hero__chips,.service-hero__highlights,.bim-hero__badges,.coord-hero__badges,.projects-hero__stats,.partners-hero__proof,.contacts-hero__proof,.ind-proof,.public-proof,.hero-proof,.com-proof,.project-proof){gap:10px!important;border:0!important;background:transparent!important;background-image:none!important;box-shadow:none!important}
:where(.hero__stats .stat,.hero__chips .hero__chip,.service-hero__highlight,.bim-hero__badge,.coord-hero__badge,.projects-hero__stat,.partners-hero__proof-item,.contacts-hero__proof-item,.ind-proof__item,.public-proof>li,.hero-proof__item,.com-proof__item,.project-proof>div,.blog-hero__proof,.industries-hero__experience){position:relative!important;min-height:96px!important;padding:16px 17px 15px!important;overflow:hidden!important;border:1px solid rgba(190,218,255,.20)!important;border-radius:13px!important;background:linear-gradient(145deg,rgba(106,166,227,.14),rgba(10,42,82,.25) 52%,rgba(2,17,43,.31))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.13),inset 0 -1px 0 rgba(51,133,222,.08),0 12px 30px rgba(0,8,31,.22)!important;-webkit-backdrop-filter:blur(16px) saturate(1.18)!important;backdrop-filter:blur(16px) saturate(1.18)!important}
:where(.hero__stats .stat,.hero__chips .hero__chip,.service-hero__highlight,.bim-hero__badge,.coord-hero__badge,.projects-hero__stat,.partners-hero__proof-item,.contacts-hero__proof-item,.ind-proof__item,.public-proof>li,.hero-proof__item,.com-proof__item,.project-proof>div,.blog-hero__proof,.industries-hero__experience)::before{position:absolute!important;top:0!important;left:10%!important;width:80%!important;height:.5px!important;content:""!important;background:linear-gradient(90deg,transparent,rgba(180,225,255,.68),transparent)!important}
:where(.hero__stats .stat,.hero__chips .hero__chip,.service-hero__highlight,.bim-hero__badge,.coord-hero__badge,.projects-hero__stat,.partners-hero__proof-item,.contacts-hero__proof-item,.ind-proof__item,.public-proof>li,.hero-proof__item,.com-proof__item,.project-proof>div,.blog-hero__proof,.industries-hero__experience)::after{position:absolute!important;top:-45px!important;right:-34px!important;width:92px!important;height:92px!important;content:""!important;pointer-events:none!important;border-radius:50%!important;background:rgba(35,142,255,.12)!important;filter:blur(22px)!important}
:where(.hero__stats .stat,.projects-hero__stat,.project-proof>div,.industries-hero__experience) strong{display:block;margin-bottom:8px;font-size:25px;font-weight:400;line-height:1.1;background:linear-gradient(174deg,#eaf1ff 0%,#9cc0ff 29%,#ffbb78 72%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
:where(.partners-hero__proof-item,.contacts-hero__proof-item,.ind-proof__item,.public-proof>li,.hero-proof__item,.com-proof__item){border-right:1px solid rgba(190,218,255,.20)!important;border-left:1px solid rgba(190,218,255,.20)!important}
@media(max-width:767px){:where(.hero__stats .stat,.hero__chips .hero__chip,.service-hero__highlight,.bim-hero__badge,.coord-hero__badge,.projects-hero__stat,.partners-hero__proof-item,.contacts-hero__proof-item,.ind-proof__item,.public-proof>li,.hero-proof__item,.com-proof__item,.project-proof>div,.blog-hero__proof,.industries-hero__experience){min-height:78px!important;padding:13px 14px!important}}

/* ══════════════════════════════════════════════════════════════════════════
   Єдина система H1: звичайні сторінки / кейси та статті
   ══════════════════════════════════════════════════════════════════════════ */
:root {
  --fs-h1-page: 48px;
  --fs-h1-feature: 56px;
  --lh-h1-system: 1.08;
}

body .site-main h1 {
  font-size: var(--fs-h1-page) !important;
  line-height: var(--lh-h1-system) !important;
}

body:is(.single-post, .single-proiekti) .site-main h1 {
  font-size: var(--fs-h1-feature) !important;
}

@media (max-width: 1024px) {
  :root {
    --fs-h1-page: 44px;
    --fs-h1-feature: 52px;
  }
}

@media (max-width: 768px) {
  :root {
    --fs-h1-page: 32px;
    --fs-h1-feature: 36px;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   Єдина система секційних H2
   Маленькі службові підписи та заголовки карток зберігають власний масштаб.
   ══════════════════════════════════════════════════════════════════════════ */
:root {
  --fs-h2-section: clamp(32px, calc(20px + 2vw), 48px);
  --lh-h2-section: 1.1;
}

body .site-main h2:not(.clients__title):not(.service-premium-card__title) {
  font-size: var(--fs-h2-section) !important;
  line-height: var(--lh-h2-section) !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   Єдиний вертикальний ритм hero-блоків
   Нижній відступ однаковий на всіх типах сторінок і плавно зменшується
   на вузьких екранах. Внутрішня композиція hero не змінюється.
   ══════════════════════════════════════════════════════════════════════════ */
:root {
  --space-hero-bottom: clamp(48px, calc(32px + 1.67vw), 64px);
}

body .site-main > section:first-of-type,
body .site-main > article > section:first-of-type {
  padding-bottom: var(--space-hero-bottom) !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   Єдина система контентних action-кнопок
   Компактні фільтри, chips і кнопки хедера навмисно не змінюються.
   ══════════════════════════════════════════════════════════════════════════ */
body .site-main :is(
  .industry-card__link,
  .project-card__link,
  .service-offer-card__link,
  .public-projects__grid .public-text-link
) {
  position: relative !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 56px !important;
  height: auto !important;
  padding: 12px 56px !important;
  border: 1px solid rgba(255, 255, 255, 0.20) !important;
  border-radius: 10px !important;
  background-color: #295bdd !important;
  background-image: linear-gradient(90deg, #2d79e8 0%, #5ea8f8 100%) !important;
  color: #fff !important;
  font-size: 15.5px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  letter-spacing: normal !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;
  box-shadow: 0 16px 40px -16px rgba(17, 65, 151, 0.9) !important;
}

body .site-main :is(
  .industry-card__link,
  .project-card__link,
  .service-offer-card__link,
  .public-projects__grid .public-text-link
) > svg {
  position: absolute !important;
  z-index: 2 !important;
  top: 50% !important;
  right: 24px !important;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  transform: translateY(-50%) !important;
  flex: 0 0 17px !important;
}

body .site-main :is(
  .industry-card__link,
  .project-card__link,
  .service-offer-card__link,
  .public-projects__grid .public-text-link
):is(:hover, :focus-visible) {
  border-color: rgba(255, 255, 255, 0.35) !important;
  color: #fff !important;
  box-shadow: 0 20px 44px -15px rgba(17, 65, 151, 0.78) !important;
  transform: translateY(-1px);
}

body .site-main :is(
  .industry-card__link,
  .project-card__link,
  .service-offer-card__link,
  .public-projects__grid .public-text-link
):focus-visible {
  outline: 2px solid #fff !important;
  outline-offset: 3px !important;
}

@media (max-width: 767px) {
  body .site-main :is(
    .industry-card__link,
    .project-card__link,
    .service-offer-card__link,
    .public-projects__grid .public-text-link
  ) {
    min-width: 0 !important;
    padding-right: 48px !important;
    padding-left: 48px !important;
  }

  body .site-main :is(
    .industry-card__link,
    .project-card__link,
    .service-offer-card__link,
    .public-projects__grid .public-text-link
  ) > svg {
    right: 20px !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   FAQ громадських будівель — узгодження із затвердженим FAQ-компонентом
   Тексти, ширина секції та логіка акордеона не змінюються.
   ══════════════════════════════════════════════════════════════════════════ */
body .public-faq .faq__list {
  gap: 12px !important;
}

body .public-faq .faq-item {
  overflow: hidden !important;
  border: 1px solid var(--color-border-blue) !important;
  border-radius: 16px !important;
  background: #101f40 !important;
  box-shadow: 0 10px 5px rgba(0, 0, 0, 0.45) !important;
}

body .public-faq .faq-item.is-open {
  border-color: var(--color-border-hover) !important;
  box-shadow: 0 2px 17px rgba(45, 140, 255, 0.35) !important;
}

body .public-faq .faq-item__toggle {
  min-height: 80px !important;
  padding: 24px !important;
  gap: 16px !important;
  color: var(--color-text) !important;
}

body .public-faq .faq-item__question {
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  letter-spacing: normal !important;
}

body .public-faq .faq-item__icon {
  width: 32px !important;
  height: 32px !important;
  border: 1px solid var(--color-border-blue) !important;
  border-radius: 8px !important;
  flex: none !important;
  background: rgba(38, 49, 74, 0.2) !important;
  color: var(--color-text) !important;
}

body .public-faq .faq-item.is-open .faq-item__icon {
  background: #0e2652 !important;
  border-color: var(--color-border-hover) !important;
}

body .public-faq .faq-item__answer {
  padding: 0 24px 24px !important;
  color: var(--color-text-light) !important;
  font-size: 18px !important;
  line-height: 1.6 !important;
}

body .public-faq .faq-item__answer :is(p, li) {
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

@media (max-width: 768px) {
  body .public-faq .faq-item__toggle {
    min-height: 64px !important;
    padding: 18px !important;
  }

  body .public-faq .faq-item__question {
    font-size: 16px !important;
  }

  body .public-faq .faq-item__icon {
    width: 30px !important;
    height: 30px !important;
    flex-basis: 30px !important;
  }

  body .public-faq .faq-item__answer {
    padding: 0 18px 18px !important;
    font-size: 15px !important;
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   Компактні мобільні hero-блоки
   Показники формуються у сітку 2×2; тексти й десктопна композиція незмінні.
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 520px) {
  body .site-main :is(
    .hero__stats,
    .hero__chips,
    .hero-proof,
    .public-proof,
    .projects-hero__stats
  ) {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    gap: 10px !important;
  }

  body .site-main :is(
    .hero__stats,
    .hero__chips,
    .hero-proof,
    .public-proof,
    .projects-hero__stats
  ) > * {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 78px !important;
    height: auto !important;
    margin: 0 !important;
  }

  body .site-main :is(
    .coord-hero__badges,
    .bim-hero__badges
  ) > * {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 78px !important;
    height: auto !important;
    margin: 0 !important;
  }

  body .site-main :is(
    .about-hero__stats,
    .coord-hero__badges,
    .bim-hero__badges,
    .hero-proof,
    .public-proof
  ) {
    margin-top: 20px !important;
  }

  body .projects-hero__layout {
    gap: 20px !important;
  }

  body .hero__visual {
    max-width: 280px !important;
    height: auto !important;
  }

  body .public-hero .btn.btn--lg {
    min-height: 56px !important;
    height: auto !important;
    padding-right: 42px !important;
    padding-left: 42px !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }
}

@media (min-width: 360px) and (max-width: 520px) {
  body .public-hero .btn.btn--lg .btn__label {
    white-space: nowrap !important;
  }
}


/* Catalog cards: shared frame, existing layouts and artwork preserved. */
body .site-main :is(.industry-card, .project-card) {
  border-width: 1px !important;
  border-style: solid !important;
  border-color: var(--color-border-blue) !important;
  border-radius: var(--radius-card) !important;
}

body .site-main :is(.industry-card, .project-card):focus-within {
  border-color: var(--color-primary-light) !important;
}

/* Reserve real space above CTA; auto margin still aligns each grid row. */
body .project-card__body {
  padding: 24px !important;
}

body .project-card__facts {
  margin-bottom: 24px !important;
}

body .industry-card__link,
body .industry-card__btn {
  margin-top: 24px !important;
}

body .industries-list .industry-card ul {
  margin-bottom: 0 !important;
}

@media (max-width: 768px) {
  body .project-card__body {
    padding: 20px !important;
  }
}


/* Readable small captions: keep typography and spacing unchanged. */
body .site-main .service-card__label,
body .site-footer .footer-copyright {
  color: var(--color-text-soft) !important;
}


/* Residential hero: retain individual cards, remove their extra outer panel. */
body .site-main .residential-hero .hero-proof {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* Accessible slider/gallery hit areas; visible indicators remain slim. */
body .site-main .clients__arrow,
body .site-main .project-gallery__button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
}
body .site-main .slick-dots li { height: auto !important; }
body .site-main .slick-dots li button {
    position: relative;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    background: transparent !important;
    font-size: 0;
}
body .site-main .slick-dots li button::before {
    content: '';
    position: absolute;
    left: 0; right: 0; top: 20px;
    width: 100%; height: 4px;
    border-radius: 2px;
    background: #0d244b;
    color: transparent;
    opacity: 1;
    pointer-events: none;
}
body .site-main .slick-dots li.slick-active button::before { background: #3971eb; }
body .site-main .slick-dots button:focus-visible,
body .site-main .project-gallery__button:focus-visible,
body .site-main .clients__arrow:focus-visible {
    outline: 2px solid var(--color-sky);
    outline-offset: 3px;
}

/* Shared hero cards: approved About frame and one mobile scrolling row. */
:root {
 --hero-card-bg: linear-gradient(145deg,rgba(106,166,227,.14),rgba(10,42,82,.25) 52%,rgba(2,17,43,.31));
 --hero-card-border: rgba(190,218,255,.20);
 --hero-card-shadow: inset 0 1px 0 rgba(255,255,255,.13),inset 0 -1px 0 rgba(51,133,222,.08),0 12px 30px rgba(0,8,31,.22);
}
body .site-main .hero__proof.hero__proof,
body .site-main .about-hero__stats.about-hero__stats,
body .site-main .service-hero__highlights.service-hero__highlights,
body .site-main .bim-hero__badges.bim-hero__badges,
body .site-main .coord-hero__badges.coord-hero__badges,
body .site-main .projects-hero__stats.projects-hero__stats,
body .site-main .partners-hero__proof.partners-hero__proof,
body .site-main .contacts-hero__proof.contacts-hero__proof,
body .site-main .ind-proof.ind-proof,
body .site-main .public-proof.public-proof,
body .site-main .hero-proof.hero-proof,
body .site-main .com-proof.com-proof {
 display:grid!important; grid-template-columns:repeat(var(--hero-card-columns,4),minmax(0,1fr))!important;
 align-items:stretch!important;gap:12px!important;width:100%!important;max-width:100%!important;
 box-sizing:border-box!important;padding:0!important;border:0!important;border-radius:0!important;
 background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;
 -webkit-backdrop-filter:none!important;list-style:none!important;
}
body .site-main .about-hero__stats {--hero-card-columns:5;}
body .site-main :is(.service-hero__highlights,.bim-hero__badges,.coord-hero__badges) {--hero-card-columns:3;}
body .site-main .projects-hero__stats {--hero-card-columns:2;}
body .site-main .hero .hero__proof :is(.hero__stats,.hero__chips) {display:contents!important;}
body .site-main .stat.stat,
body .site-main .hero__chip.hero__chip,
body .site-main .about-stat.about-stat,
body .site-main .service-hero__highlight.service-hero__highlight,
body .site-main .bim-hero__badge.bim-hero__badge,
body .site-main .coord-hero__badge.coord-hero__badge,
body .site-main .projects-hero__stat.projects-hero__stat,
body .site-main .partners-hero__proof-item.partners-hero__proof-item,
body .site-main .contacts-hero__proof-item.contacts-hero__proof-item,
body .site-main .ind-proof__item.ind-proof__item,
body .site-main .hero-proof__item.hero-proof__item,
body .site-main .com-proof__item.com-proof__item,
body .site-main .blog-hero__proof.blog-hero__proof,
body .site-main .industries-hero__experience.industries-hero__experience,
body .site-main .public-proof.public-proof > li {
 box-sizing:border-box!important;min-width:0!important;max-width:none!important;width:auto!important;
 min-height:112px!important;height:auto!important;margin:0!important;padding:16px 17px 15px!important;
 border:1px solid var(--hero-card-border)!important;border-radius:13px!important;
 background:var(--hero-card-bg)!important;box-shadow:var(--hero-card-shadow)!important;
 backdrop-filter:blur(16px) saturate(1.18)!important;-webkit-backdrop-filter:blur(16px) saturate(1.18)!important;
 color:#b7c3de!important;font-size:13px!important;font-weight:400!important;line-height:1.5!important;
}
body .site-main .stat.stat::before,
body .site-main .stat.stat::after,
body .site-main .hero__chip.hero__chip::before,
body .site-main .hero__chip.hero__chip::after,
body .site-main .about-stat.about-stat::before,
body .site-main .about-stat.about-stat::after,
body .site-main .service-hero__highlight.service-hero__highlight::before,
body .site-main .service-hero__highlight.service-hero__highlight::after,
body .site-main .bim-hero__badge.bim-hero__badge::before,
body .site-main .bim-hero__badge.bim-hero__badge::after,
body .site-main .coord-hero__badge.coord-hero__badge::before,
body .site-main .coord-hero__badge.coord-hero__badge::after,
body .site-main .projects-hero__stat.projects-hero__stat::before,
body .site-main .projects-hero__stat.projects-hero__stat::after,
body .site-main .partners-hero__proof-item.partners-hero__proof-item::before,
body .site-main .partners-hero__proof-item.partners-hero__proof-item::after,
body .site-main .contacts-hero__proof-item.contacts-hero__proof-item::before,
body .site-main .contacts-hero__proof-item.contacts-hero__proof-item::after,
body .site-main .ind-proof__item.ind-proof__item::before,
body .site-main .ind-proof__item.ind-proof__item::after,
body .site-main .hero-proof__item.hero-proof__item::before,
body .site-main .hero-proof__item.hero-proof__item::after,
body .site-main .com-proof__item.com-proof__item::before,
body .site-main .com-proof__item.com-proof__item::after,
body .site-main .blog-hero__proof.blog-hero__proof::before,
body .site-main .blog-hero__proof.blog-hero__proof::after,
body .site-main .industries-hero__experience.industries-hero__experience::before,
body .site-main .industries-hero__experience.industries-hero__experience::after,
body .site-main .public-proof.public-proof > li::before,
body .site-main .public-proof.public-proof > li::after {display:none!important;}
body .site-main :is(.service-hero__highlight,.bim-hero__badge,.coord-hero__badge,.partners-hero__proof-item,.contacts-hero__proof-item,.ind-proof__item,.hero-proof__item,.com-proof__item,.public-proof>li) {
 display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;
}
body .site-main :is(.about-stat,.projects-hero__stat,.stat) {
 display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:8px!important;
}
body .site-main :is(.about-stat,.projects-hero__stat,.stat,.blog-hero__proof,.industries-hero__experience) :is(strong,.stat__value) {
 color:#edf2ff!important;font-size:25px!important;font-weight:400!important;line-height:1.1!important;
 margin:0!important;background:none!important;-webkit-text-fill-color:currentColor!important;
}
body .site-main :is(.about-stat,.projects-hero__stat,.stat,.service-hero__highlight,.bim-hero__badge,.coord-hero__badge,.hero-proof__item,.com-proof__item,.public-proof>li) span {
 color:#b7c3de!important;font-size:13px!important;font-weight:400!important;line-height:1.5!important;
}
body .site-main :is(.bim-hero__badge,.coord-hero__badge) strong {color:#edf2ff!important;font-weight:400!important;}
body .site-main :is(.service-hero__highlight,.bim-hero__badge,.coord-hero__badge,.partners-hero__proof-item,.contacts-hero__proof-item,.ind-proof__item,.hero-proof__item,.com-proof__item,.public-proof>li) svg {
 width:18px!important;height:18px!important;flex:0 0 18px!important;color:#77c6ff!important;
}
@media(max-width:768px) {
 body .site-main .hero__proof.hero__proof,
body .site-main .about-hero__stats.about-hero__stats,
body .site-main .service-hero__highlights.service-hero__highlights,
body .site-main .bim-hero__badges.bim-hero__badges,
body .site-main .coord-hero__badges.coord-hero__badges,
body .site-main .projects-hero__stats.projects-hero__stats,
body .site-main .partners-hero__proof.partners-hero__proof,
body .site-main .contacts-hero__proof.contacts-hero__proof,
body .site-main .ind-proof.ind-proof,
body .site-main .public-proof.public-proof,
body .site-main .hero-proof.hero-proof,
body .site-main .com-proof.com-proof {
 grid-template-columns:none!important;grid-auto-flow:column!important;grid-auto-columns:minmax(220px,1fr)!important;
 overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-inline:contain;
 scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:rgba(119,198,255,.45) transparent;
 padding-bottom:10px!important;
 }
 body .site-main .stat.stat,
body .site-main .hero__chip.hero__chip,
body .site-main .about-stat.about-stat,
body .site-main .service-hero__highlight.service-hero__highlight,
body .site-main .bim-hero__badge.bim-hero__badge,
body .site-main .coord-hero__badge.coord-hero__badge,
body .site-main .projects-hero__stat.projects-hero__stat,
body .site-main .partners-hero__proof-item.partners-hero__proof-item,
body .site-main .contacts-hero__proof-item.contacts-hero__proof-item,
body .site-main .ind-proof__item.ind-proof__item,
body .site-main .hero-proof__item.hero-proof__item,
body .site-main .com-proof__item.com-proof__item,
body .site-main .blog-hero__proof.blog-hero__proof,
body .site-main .industries-hero__experience.industries-hero__experience,
body .site-main .public-proof.public-proof > li {scroll-snap-align:start;}
}

/* Homepage has a page-specific stylesheet loaded after shared styles. */
body .site-main .hero .hero__proof.hero__proof :is(.stat,.hero__chip) {min-height:112px!important;}
body .site-main .hero .hero__proof .hero__chip {font-size:13px!important;color:#b7c3de!important;}
@media(max-width:768px) {
 body .site-main .hero .hero__proof.hero__proof {
 grid-template-columns:none!important;grid-auto-flow:column!important;grid-auto-columns:minmax(220px,1fr)!important;
 }
}

/* BIM/coordination hero: keep benefits in flow below the CTA, inside content gutters. */
body .site-main :is(.bim-hero,.coord-hero) :is(.bim-hero__badges.bim-hero__badges,.coord-hero__badges.coord-hero__badges) {
 position:relative!important;inset:auto!important;transform:none!important;z-index:1;
 width:calc(100% - 2 * var(--container-padding))!important;
 max-width:calc(var(--container-width) - 2 * var(--container-padding))!important;
 margin:28px auto 0!important;
}
body .site-main :is(.bim-hero,.coord-hero) :is(.bim-hero__badge,.coord-hero__badge),
body .site-main :is(.bim-hero,.coord-hero) :is(.bim-hero__badge,.coord-hero__badge) span {
 white-space:normal!important;min-width:0!important;overflow-wrap:break-word;
}

/* 2026-10-09: content-first desktop heroes; preserve type, colours and mobile layouts. */
body .site-main :is(.hero__proof,.about-hero__stats,.service-hero__highlights,.bim-hero__badges,.coord-hero__badges,.projects-hero__stats,.partners-hero__proof,.contacts-hero__proof,.ind-proof,.public-proof,.hero-proof,.com-proof,.project-proof) :is(li,span,strong,div) {
 min-width:0!important;white-space:normal!important;overflow-wrap:break-word; text-overflow:clip!important;
}
@media(min-width:1025px) {
 body .site-main :is(.hero,.projects-hero) {min-height:0!important;height:auto!important;}
 body .site-main .service-hero__content {width:min(100%,940px)!important;max-width:940px!important;}
 body .site-main .service-hero__heading {max-width:940px!important;}
 body .site-main .service-hero__intro {max-width:820px!important;}
}
@media(min-width:1025px) and (max-height:900px) {
 body .site-main :is(.hero,.about-hero,.service-hero,.bim-hero,.coord-hero,.industries-hero,.residential-hero,.com-hero,.public-hero,.ind-hero,.projects-hero,.partners-hero,.blog-hero,.contacts-hero,.project-hero,.article-hero:not(.article-hero--no-image)) {
 --breadcrumbs-top:20px;min-height:0!important;height:auto!important;padding-top:66px!important;padding-bottom:28px!important;align-items:flex-start!important;
 }
 body .site-main :is(.hero,.about-hero,.service-hero,.bim-hero,.coord-hero,.industries-hero,.residential-hero,.com-hero,.public-hero,.ind-hero,.projects-hero,.partners-hero,.blog-hero,.contacts-hero,.project-hero,.article-hero:not(.article-hero--no-image)) h1 {margin-bottom:14px!important;}
 body .site-main :is(.hero__wrp,.about-hero__content,.service-hero__content,.bim-hero__content,.bim-hero__intro,.coord-hero__content,.projects-hero__content) {gap:12px!important;}
 body .site-main :is(.about-hero__title,.about-hero__description,.about-hero__lead,.about-hero__text,.bim-hero__content,.coord-hero__content) {max-width:940px!important;width:100%!important;}
 body .site-main :is(.about-hero__description,.bim-hero__text,.coord-hero__text,.bim-hero__list-block,.coord-hero__list-block,.bim-hero__list,.coord-hero__list) {gap:10px!important;}
 body .site-main :is(.bim-hero__actions,.coord-hero__actions) {margin-top:4px!important;}
 body .site-main :is(.hero__proof.hero__proof,.about-hero__stats.about-hero__stats,.service-hero__highlights.service-hero__highlights,.partners-hero__proof.partners-hero__proof,.contacts-hero__proof.contacts-hero__proof,.ind-proof.ind-proof,.public-proof.public-proof,.hero-proof.hero-proof,.com-proof.com-proof) {margin-top:18px!important;}
 body .site-main :is(.bim-hero,.coord-hero) :is(.bim-hero__badges.bim-hero__badges,.coord-hero__badges.coord-hero__badges) {margin-top:18px!important;}
 body .site-main :is(.hero__proof.hero__proof,.about-hero__stats,.bim-hero__badges,.coord-hero__badges,.projects-hero__stats,.partners-hero__proof,.contacts-hero__proof,.ind-proof,.public-proof,.hero-proof,.com-proof) > *,
 body .site-main .hero .hero__proof.hero__proof :is(.stat,.hero__chip),
 body .site-main :is(.blog-hero__proof.blog-hero__proof,.industries-hero__experience.industries-hero__experience) {min-height:84px!important;padding:12px 16px!important;}
 body .site-main :is(.residential-hero__content,.partners-hero__content,.contacts-hero__content) {padding-bottom:0!important;}
 body .site-main .service-hero__action-row {margin-top:16px!important;}
 body .site-main :is(.public-hero__lead,.public-hero__detail,.residential-hero__lead,.residential-hero__text,.partners-hero__lead,.partners-hero__support,.contacts-hero__lead,.contacts-hero__text) {margin-bottom:12px!important;line-height:1.5!important;max-width:860px!important;}
 body .site-main :is(.public-hero__copy,.estate-hero__copy) {width:min(100%,900px)!important;max-width:900px!important;}
 body .site-main .public-hero h1 {max-width:900px!important;}
 body .site-main :is(.estate-actions,.ind-cta) {margin-top:12px!important;margin-bottom:0!important;}
 body .site-main .estate-hero__copy {padding-bottom:0!important;}
 body .site-main .ind-hero__copy {width:min(100%,900px)!important;max-width:900px!important;}
 body .site-main .ind-hero__copy p {margin-bottom:12px!important;line-height:1.5!important;}
 body .site-main .blog-hero__title {max-width:1040px!important;}
 body .site-main .blog-hero__intro {max-width:900px!important;margin-bottom:16px!important;}
 body .site-main .blog-hero__intro p {line-height:1.5!important;}
 body .site-main .blog-hero__caption {margin-top:20px!important;padding-top:12px!important;}
 body .site-main .project-hero__container {min-height:0!important;padding-bottom:0!important;gap:24px!important;}
 body .site-main .project-hero__content {max-width:940px!important;}
 body .site-main .project-hero h1 {max-width:940px!important;}
 body .site-main .project-hero__actions {margin-top:18px!important;}
 body .site-main .project-hero .project-proof {margin-top:20px!important;}
 body .site-main .article-hero:not(.article-hero--no-image) .article-hero__grid {min-height:0!important;}
 body .site-main .article-hero:not(.article-hero--no-image) .article-hero__copy {width:72%!important;padding-left:0!important;}
 body .site-main .article-hero:not(.article-hero--no-image) .article-meta {margin-top:20px!important;padding-top:14px!important;}
 body .site-main .article-hero:not(.article-hero--no-image) .article-hero__caption {bottom:24px!important;}
}

@media(min-width:1025px) and (max-height:900px) {
 body .site-main .about-hero__stats.about-hero__stats > .about-stat.about-stat,
 body .site-main .public-proof.public-proof > li {min-height:84px!important;padding:12px 16px!important;}
 body .site-main :is(.bim-hero__text,.coord-hero__text) {line-height:1.5!important;}
 body .site-main :is(.bim-hero__list-block,.coord-hero__list-block) {display:grid!important;grid-template-columns:170px minmax(0,1fr)!important;align-items:start!important;gap:16px!important;}
 body .site-main :is(.bim-hero__list-title,.coord-hero__list-title) {margin:0!important;}
 body .site-main :is(.bim-hero__intro,.coord-hero__content) > h1 {margin-bottom:6px!important;}
 body .site-main .project-hero.project-hero {min-height:420px!important;}
 body .site-main .project-hero__container {grid-template-columns:1fr!important;}
 body .site-main .project-hero__content {width:min(100%,960px)!important;}
 body .site-main .project-hero .project-proof > div {min-height:84px!important;padding:12px 16px!important;}
 body .site-main .article-hero:not(.article-hero--no-image) {min-height:480px!important;}
}
@media(min-width:1025px) and (max-height:800px) {
 body .site-main.site-main :is(.hero,.about-hero,.service-hero,.bim-hero,.coord-hero,.industries-hero,.residential-hero,.com-hero,.public-hero,.ind-hero,.projects-hero,.partners-hero,.blog-hero,.contacts-hero,.project-hero) {padding-top:60px!important;padding-bottom:24px!important;}
 body .site-main :is(.bim-hero__content,.coord-hero__content) {gap:8px!important;}
 body .site-main :is(.service-hero__content,.about-hero__content,.hero__wrp) > h1 {margin-bottom:6px!important;}
}

@media(min-width:1025px) {
 body .site-main .service-hero__heading .is-accent {display:inline!important;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
}
@media(min-width:1025px) and (max-height:900px) {
 body .site-main .project-hero :is(.project-hero__lead,.project-hero__support) {max-width:940px!important;line-height:1.5!important;}
 body .site-main .project-hero__support {margin-top:10px!important;}
}
@media(min-width:1025px) and (max-height:800px) {
 body .site-main :is(.service-hero__content.service-hero__content,.about-hero__content.about-hero__content,.hero__wrp.hero__wrp) > h1 {margin-bottom:6px!important;}
 body .site-main :is(.about-hero__stats.about-hero__stats,.public-proof.public-proof,.com-proof.com-proof) {margin-top:14px!important;}
}

@media(min-width:1025px) and (max-height:900px) {
 body .site-main .public-hero .public-hero__photo-credit {bottom:130px!important;}
 body .site-main .com-hero .estate-hero__caption {bottom:150px!important;}
}


/* 2026-10-09: first-screen sizing at every breakpoint; content may grow naturally. */
body .site-main.site-main .hero--first-screen.hero--first-screen.hero--first-screen {
 box-sizing:border-box!important; min-height:calc(100vh - var(--hero-screen-offset,124px))!important; min-height:calc(100svh - var(--hero-screen-offset,124px))!important;
 height:auto!important; display:flex!important; flex-direction:column!important; justify-content:center!important; align-items:stretch!important; padding-bottom:32px!important;
}
body.admin-bar .site-main .hero--first-screen {--hero-screen-offset:156px;}
body .site-main .hero--first-screen > .container {flex-shrink:0;}
@media (max-width:1024px) {
 body .site-main.site-main .hero--first-screen.hero--first-screen.hero--first-screen {padding-top:64px!important;padding-bottom:32px!important;}
}
@media (max-width:1024px) and (max-height:600px) {
 body .site-main.site-main .hero--first-screen.hero--first-screen.hero--first-screen {padding-top:48px!important;padding-bottom:24px!important;}
}

/* Services hero: user-provided background, 2026-10-09. */
body .site-main .service-hero .service-hero__visual {background-image:url("/wp-content/uploads/2026/10/posl3.png")!important;}


/* 2026-10-12: mobile hero priority and content-first height. */
@media (max-width: 1024px) {
 body .site-main.site-main .hero--first-screen.hero--first-screen.hero--first-screen {min-height:0!important;height:auto!important;justify-content:flex-start!important;}
}
@media (max-width: 767.98px) {
 .bim-hero__content,.coord-hero__content {display:flex!important;flex-direction:column!important;}
 .bim-hero__intro,.bim-hero__text,.coord-hero__text {display:contents!important;}
 .bim-hero__title,.coord-hero__title {order:0;}
 .bim-hero__text>p:first-child,.coord-hero__text>p:first-child {order:1;}
 .bim-hero__actions,.coord-hero__actions {order:2;margin-top:20px!important;margin-bottom:24px!important;}
 .bim-hero__text>p:nth-child(n+2),.coord-hero__text>p:nth-child(n+2) {order:3;}
 .bim-hero__list-block,.coord-hero__list-block {order:4;}
}


/* Mobile-only copy keeps the full desktop wording and all detailed content. */
.hero-copy--mobile {display:none;}
.mobile-disclosure>summary {display:none;}
.mobile-disclosure {display:contents;}
@media (max-width: 767.98px), (max-width:1024px) and (max-height:500px) {
 .hero-copy--desktop {display:none!important;}
 .hero-copy--mobile {display:inline;}
 .blog-hero>.container {display:flex;flex-direction:column;}
 .blog-hero__intro {display:contents;}
 .blog-hero__title {order:0;}
 .blog-hero__intro>p:first-child {order:1;margin-top:20px;}
 .blog-hero__actions {order:2;margin-top:20px!important;}
 .blog-hero__intro>p:nth-child(n+2) {order:3;margin-top:24px;}
 .blog-hero__caption {order:4;}
 .mobile-disclosure {display:block;width:100%;margin:14px 0;}
 .mobile-disclosure>summary {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 0;border-top:1px solid rgba(119,198,255,.22);color:#8dcfff;font-size:15px;line-height:1.4;cursor:pointer;list-style:none;}
 .mobile-disclosure>summary::-webkit-details-marker {display:none;}
 .mobile-disclosure>summary::after {content:'+';font-size:22px;flex-shrink:0;}
 .mobile-disclosure[open]>summary::after {content:'−';}
 .mobile-disclosure>summary:focus-visible {outline:2px solid #77c6ff;outline-offset:4px;}
 .service-offer-card,.service-advantage-card {min-height:0!important;padding:24px!important;}
 .service-offer-card__lead {display:none;}
 .service-offer-card__title,.service-advantage-card__title {margin-top:20px!important;margin-bottom:16px!important;}
 .service-offers,.service-advantages {padding-top:48px!important;padding-bottom:48px!important;}
 .service-hero__visual {background-size:auto 100%!important;background-position:70% center!important;opacity:.55!important;}
 .service-hero__visual::after {background:linear-gradient(90deg,rgba(3,20,44,.9),rgba(3,20,44,.72) 55%,rgba(3,20,44,.3)),linear-gradient(0deg,#031c45,transparent 25%)!important;}
}
@media (max-width:1024px) and (max-height:500px) {
 body .site-main.site-main .hero--first-screen.hero--first-screen.hero--first-screen {padding-top:24px!important;padding-bottom:24px!important;}
 .site-main .hero--first-screen h1 {font-size:32px!important;line-height:1.12!important;}
 .site-main .hero--first-screen .breadcrumbs {margin-bottom:16px!important;}
 .bim-hero__content,.coord-hero__content {display:flex!important;flex-direction:column!important;}
 .bim-hero__intro,.bim-hero__text,.coord-hero__text {display:contents!important;}
 .bim-hero__title,.coord-hero__title {order:0;}
 .bim-hero__text>p:first-child,.coord-hero__text>p:first-child {order:1;}
 .bim-hero__actions,.coord-hero__actions {order:2;margin-top:16px!important;margin-bottom:20px!important;}
 .bim-hero__text>p:nth-child(n+2),.coord-hero__text>p:nth-child(n+2) {order:3;}
 .bim-hero__list-block,.coord-hero__list-block {order:4;}
 .site-main .hero--first-screen p {margin-top:16px;}
}

/* Landscape: reserve a real breadcrumb row and place primary actions beside copy. */
@media (max-width:1024px) and (max-height:500px) {
 .site-main .hero--first-screen>.breadcrumbs {position:relative!important;inset:auto!important;transform:none!important;width:calc(100% - 40px);margin:0 auto 16px!important;}
 .service-hero>.container {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 28px;}
 .service-hero__content,.service-hero__action-row {display:contents!important;}
 .service-hero__heading {grid-column:1;grid-row:1 / 3;margin:0!important;max-width:none;}
 .service-hero__intro {grid-column:2;grid-row:1;margin:0!important;max-width:none!important;}
 .service-hero__btn {grid-column:2;grid-row:2;align-self:start;justify-self:start;margin:0!important;}
 .service-hero__highlights {grid-column:1 / -1;grid-row:3;margin-top:20px!important;}
 .bim-hero__content,.coord-hero__content {display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 28px;}
 .bim-hero__title,.coord-hero__title {grid-column:1;grid-row:1 / 3;margin:0!important;}
 .bim-hero__text>p:first-child,.coord-hero__text>p:first-child {grid-column:2;grid-row:1;margin:0!important;}
 .bim-hero__actions,.coord-hero__actions {grid-column:2;grid-row:2;margin:0!important;}
 .bim-hero__text>p:nth-child(n+2),.coord-hero__text>p:nth-child(n+2) {grid-column:1 / -1;grid-row:3;}
 .bim-hero__list-block,.coord-hero__list-block {grid-column:1 / -1;grid-row:4;}
 .blog-hero>.container {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 28px;}
 .blog-hero__title {grid-column:1;grid-row:1 / 3;margin:0!important;}
 .blog-hero__intro>p:first-child {grid-column:2;grid-row:1;margin:0!important;}
 .blog-hero__actions {grid-column:2;grid-row:2;margin:0!important;}
 .blog-hero__intro>p:nth-child(n+2) {grid-column:1 / -1;grid-row:3;}
 .blog-hero__caption {grid-column:1 / -1;grid-row:4;}
}

@media (max-width:767.98px), (max-width:1024px) and (max-height:500px) {
 .site-main .service-offer-card__title,.site-main .service-advantage-card__title {font-size:24px!important;line-height:1.25!important;}
}

@media (max-width:767.98px), (max-width:1024px) and (max-height:500px) {
 .service-advantage-card>.mobile-disclosure {grid-column:1 / -1;min-width:0;position:relative;z-index:1;}
 .service-advantage-card .mobile-disclosure[open] .service-advantage-card__text {max-height:none!important;opacity:1!important;transform:none!important;}
 .service-advantage-card:nth-child(-n+4) {padding-bottom:24px!important;}
 .service-advantage-card:nth-child(-n+4)::before {height:100px!important;background-size:auto 90px!important;opacity:.12!important;}
}


/* 2026-10-12: balanced desktop heroes, no unbounded full-screen stretching. */
@media (min-width:1025px) {
 body .site-main.site-main .hero--first-screen.hero--first-screen.hero--first-screen {
  box-sizing:border-box!important;
  min-height:min(calc(100svh - var(--hero-screen-offset,124px)),900px)!important;
  height:auto!important;
  padding-top:80px!important;
  padding-bottom:56px!important;
  justify-content:center!important;
 }
 .site-main .hero--first-screen>.container {width:100%;}
 .site-main .hero>.hero__visual {
  top:24px!important;right:0!important;bottom:auto!important;
  width:clamp(620px,46vw,1160px)!important;
  height:calc(100% - 48px)!important;max-height:none!important;
  object-fit:contain!important;object-position:right center!important;
 }
}
@media (min-width:1025px) and (max-height:800px) {
 body .site-main.site-main .hero--first-screen.hero--first-screen.hero--first-screen {padding-top:60px!important;padding-bottom:32px!important;}
}
@media (min-width:1800px) {
 .site-main .hero--first-screen>.container {max-width:clamp(1400px,65vw,1640px)!important;}
 .site-main .hero--first-screen h1 {font-size:clamp(48px,2.15vw,60px)!important;line-height:1.1!important;}
 .site-main .hero__wrp {width:58%;max-width:940px;}
 .site-main .hero__text {max-width:760px;}
 .site-main .hero--first-screen .breadcrumbs {max-width:clamp(1400px,65vw,1640px);}
}


/* 2026-10-12: homepage illustration follows the supplied Figma hero proportions. */
@media (min-width:1025px) {
 body .site-main.site-main .hero.hero--first-screen.hero--first-screen.hero--first-screen {
  overflow:hidden!important;
  min-height:44vw!important;
  padding-top:7.2vw!important;
  padding-bottom:32px!important;
  justify-content:flex-start!important;
 }
 .site-main .hero>.hero__visual {
  top:0!important;right:-3%!important;bottom:auto!important;
  width:62%!important;height:auto!important;
  max-width:none!important;max-height:none!important;
  object-fit:fill!important;object-position:center!important;
  transform:none!important;
 }
}


/* 2026-10-12: homepage hero + client logos form one desktop first-screen composition. */
@media (min-width:1025px) {
 body .site-main.site-main .hero.hero--first-screen.hero--first-screen.hero--first-screen {
  min-height:clamp(400px,calc(100svh - var(--hero-screen-offset,124px) - 160px),900px)!important;
  padding-top:40px!important;padding-bottom:32px!important;
  justify-content:center!important;
 }
 .site-main .hero>.hero__visual {
  top:0!important;right:-3%!important;width:62%!important;height:117%!important;
  object-fit:cover!important;object-position:center top!important;
 }
 body .site-main.site-main .hero.hero.hero .hero__eyebrow {display:flex!important;align-items:center;gap:10px;margin:0!important;color:#ffd000;font-size:12px!important;letter-spacing:.12em;}
 body .site-main.site-main .hero.hero.hero .hero__wrp {gap:18px!important;}
 body .site-main.site-main .hero.hero.hero .hero__proof {display:flex!important;flex-direction:column!important;gap:18px!important;width:min(58%,760px)!important;margin-top:26px!important;padding:22px 0 0!important;border-top:1px solid rgba(156,188,234,.12);overflow:visible!important;}
 body .site-main.site-main .hero.hero.hero .hero__stats {display:flex!important;gap:28px!important;margin:0!important;padding:0!important;width:auto!important;}
 body .site-main.site-main .hero.hero.hero .stat {display:flex!important;flex-direction:row!important;align-items:center!important;gap:14px!important;width:auto!important;min-width:0!important;min-height:0!important;height:auto!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;backdrop-filter:none!important;}
 body .site-main.site-main .hero.hero.hero .stat+.stat {padding-left:28px!important;border-left:1px solid rgba(156,188,234,.14)!important;}
 body .site-main.site-main .hero.hero.hero .stat__value {font-size:clamp(32px,2.2vw,44px)!important;line-height:1.1!important;white-space:nowrap;background:linear-gradient(90deg,#3971eb,#9fcbff 70%,#f2c893);background-clip:text;-webkit-background-clip:text;color:transparent!important;}
 body .site-main.site-main .hero.hero.hero .stat__label {font-size:14px!important;line-height:1.4!important;max-width:125px;text-align:left!important;}
 body .site-main.site-main .hero.hero.hero .hero__chips {display:flex!important;gap:10px!important;margin:0!important;padding:0!important;width:auto!important;}
 body .site-main.site-main .hero.hero.hero .hero__chip {display:flex!important;align-items:center!important;gap:8px!important;width:auto!important;min-width:0!important;min-height:36px!important;height:auto!important;padding:7px 14px!important;border:1px solid rgba(156,188,234,.28)!important;border-radius:999px!important;background:rgba(3,15,37,.25)!important;box-shadow:none!important;backdrop-filter:none!important;font-size:14px!important;}
 body .site-main.site-main .hero.hero.hero .hero__chip svg {display:block!important;width:17px;height:17px;color:#ffd000;flex-shrink:0;}
 body .site-main.site-main .hero.hero.hero .hero__lines {top:0!important;left:32%!important;right:0!important;width:68%!important;height:100%!important;background-size:cover!important;background-position:center top!important;}
 body .site-main.site-main .hero.hero.hero .hero__frame {display:none!important;}
 .hero+.clients {padding:20px 0!important;}
 .hero+.clients .clients__head {margin-bottom:12px!important;}
 .hero+.clients .clients__track-wrap {margin-top:0!important;}
 .hero+.clients .clients__item {height:72px!important;padding:8px!important;}
 .hero+.clients .clients__logo {max-height:54px!important;width:auto;}
}
@media (min-width:1025px) and (max-height:1000px) {
 body .site-main.site-main .hero.hero--first-screen.hero--first-screen.hero--first-screen {padding-top:24px!important;padding-bottom:24px!important;}
 body .site-main.site-main .hero.hero.hero .hero__title {font-size:40px!important;line-height:1.1!important;}
 body .site-main.site-main .hero.hero.hero .hero__text {font-size:16px!important;line-height:1.5!important;}
 body .site-main.site-main .hero.hero.hero .hero__wrp {gap:14px!important;}
 body .site-main.site-main .hero.hero.hero .hero__proof {margin-top:18px!important;padding-top:16px!important;gap:12px!important;}
 body .site-main.site-main .hero.hero.hero .stat__value {font-size:32px!important;}
}

/* Homepage proof: visible gradient numbers and compact horizontal badges. */
@media(min-width:1025px){
body .site-main.site-main .hero.hero.hero .hero__eyebrow{padding:0!important;line-height:18px!important;}
body .site-main.site-main .hero.hero.hero .hero__stats,body .site-main.site-main .hero.hero.hero .hero__chips{min-height:0!important;height:auto!important;align-items:center!important;flex-direction:row!important;}
body .site-main.site-main .hero.hero.hero .stat{border-radius:0!important;}
body .site-main.site-main .hero.hero.hero .stat__value{background:linear-gradient(90deg,#3971eb,#9fcbff 70%,#f2c893)!important;background-clip:text!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;}
body .site-main.site-main .hero.hero.hero .hero__chip{flex-direction:row!important;}
body .site-main.site-main .hero.hero.hero .hero__proof{border-top:1px solid rgba(156,188,234,.12)!important;}
}
@media(min-width:1025px) and (max-height:800px){
.hero+.clients{padding:12px 0!important;}
body .site-main.site-main .hero.hero--first-screen.hero--first-screen.hero--first-screen{min-height:calc(100svh - var(--hero-screen-offset,124px) - 152px)!important;padding-top:18px!important;padding-bottom:18px!important;}
body .site-main.site-main .hero.hero.hero .hero__title{font-size:36px!important;margin-bottom:0!important;}
body .site-main.site-main .hero.hero.hero .hero__wrp{gap:12px!important;}
body .site-main.site-main .hero.hero.hero .hero__proof{margin-top:14px!important;padding-top:12px!important;gap:10px!important;}
}

/* Homepage composition: height-driven building, centred design canvas and undistorted ceiling grid. */
@media(min-width:1025px){
body .site-main.site-main .hero.hero.hero > .hero__visual{height:117%!important;width:auto!important;max-width:none!important;object-fit:contain!important;object-position:right top!important;right:-3%!important;top:0!important;}
body .site-main.site-main .hero.hero.hero .hero__lines{top:0!important;left:0!important;right:0!important;transform:none!important;width:100%!important;height:100%!important;background-size:100% auto!important;background-position:center top!important;opacity:.9!important;}
}

@media(min-width:1025px){
body .site-main.site-main .hero.hero.hero .hero__glow{animation:none!important;transform:none!important;margin:0!important;left:auto!important;right:-15%!important;top:-25%!important;width:90%!important;height:150%!important;opacity:.55!important;background-size:100% 100%!important;}
body .site-main.site-main .hero.hero.hero .hero__glow--2{top:15%!important;right:-10%!important;width:75%!important;height:120%!important;opacity:.45!important;}
body .site-main.site-main .hero.hero.hero .hero__glow--3{top:-10%!important;right:-10%!important;width:70%!important;height:140%!important;opacity:.4!important;}
}

/* Keep the building close to the content on wide monitors; preserve laptop composition. */
@media(min-width:1921px){
body .site-main.site-main .hero.hero.hero > .hero__visual{right:calc(-3% + clamp(0px,calc(24vw - 460.8px),320px))!important;}
}

/* Homepage phone layout: all benefits visible, readable labels and a separate building scene. */
@media(max-width:768px){
body .site-main.site-main .hero.hero--first-screen.hero--first-screen.hero--first-screen{padding-top:32px!important;padding-bottom:0!important;overflow:hidden!important;}
body .site-main.site-main .hero.hero.hero .hero__wrp{width:100%!important;max-width:none!important;gap:20px!important;}
body .site-main.site-main .hero.hero.hero .hero__proof{display:flex!important;flex-direction:column!important;width:100%!important;max-width:100%!important;margin-top:24px!important;padding:0!important;overflow:visible!important;gap:12px!important;}
body .site-main.site-main .hero.hero.hero .hero__stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important;margin:0!important;padding:0!important;min-height:0!important;}
body .site-main.site-main .hero.hero.hero .stat.stat{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:8px!important;min-height:96px!important;width:100%!important;max-width:100%!important;padding:14px!important;overflow:visible!important;}
body .site-main.site-main .hero.hero.hero .stat__value{font-size:26px!important;line-height:1.1!important;color:#edf2ff!important;background:none!important;-webkit-text-fill-color:currentColor!important;}
body .site-main.site-main .hero.hero.hero .stat__label{max-width:none!important;font-size:13px!important;line-height:1.45!important;white-space:normal!important;overflow-wrap:normal!important;}
body .site-main.site-main .hero.hero.hero .hero__chips{display:flex!important;flex-flow:row wrap!important;gap:8px!important;width:100%!important;margin:0!important;padding:0!important;min-height:0!important;}
body .site-main.site-main .hero.hero.hero .hero__chip.hero__chip{display:flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important;width:auto!important;max-width:100%!important;min-height:36px!important;height:auto!important;padding:7px 12px!important;border-radius:999px!important;background:rgba(3,15,37,.35)!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;font-size:13px!important;}
body .site-main.site-main .hero.hero.hero .hero__chip svg{display:block!important;flex:0 0 16px!important;width:16px!important;height:16px!important;color:#ffd000!important;}
body .site-main.site-main .hero.hero.hero > .hero__visual{position:static!important;display:block!important;width:100%!important;max-width:460px!important;height:auto!important;min-height:0!important;max-height:none!important;object-fit:contain!important;margin:20px 0 -36px auto!important;transform:none!important;mask-image:linear-gradient(transparent 0%,#000 18%)!important;}
body .site-main.site-main .hero.hero.hero .hero__glow{animation:none!important;transform:none!important;opacity:.2!important;}
body .site-main.site-main .hero.hero.hero .hero__lines{opacity:.15!important;}
}

/* Phone homepage: building is a right-hand background behind content, not a separate block. */
@media(max-width:768px){
body .site-main.site-main .hero.hero--first-screen.hero--first-screen.hero--first-screen{padding-bottom:28px!important;isolation:isolate;}
body .site-main.site-main .hero.hero.hero > .container{position:relative!important;z-index:3!important;}
body .site-main.site-main .hero.hero.hero > .hero__visual{position:absolute!important;z-index:0!important;top:auto!important;bottom:0!important;right:auto!important;left:72%!important;width:auto!important;height:95%!important;max-width:none!important;max-height:none!important;margin:0!important;object-fit:contain!important;object-position:right bottom!important;transform:translateX(-52%)!important;opacity:.8!important;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 28%,#000 60%)!important;}
body .site-main.site-main .hero.hero.hero::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(3,10,28,.88) 0%,rgba(3,10,28,.72) 45%,rgba(3,10,28,.35) 100%),linear-gradient(0deg,rgba(3,20,47,.7),transparent 35%);}
body .site-main.site-main .hero.hero.hero .hero__decor--front{display:none!important;}
body .site-main.site-main .hero.hero.hero .hero__lines{opacity:.24!important;}
body .site-main.site-main .hero.hero.hero .hero__glow{opacity:.12!important;}
}

/* Breadcrumbs: full-width positioning must not be combined with a capped nav width. */
body .site-main.site-main .breadcrumbs.breadcrumbs{box-sizing:border-box!important;width:100%!important;max-width:none!important;left:0!important;right:0!important;padding-left:max(var(--container-padding,20px),calc((100% - var(--crumbs-container-width,var(--container-width))) / 2 + var(--container-padding,20px)))!important;padding-right:max(var(--container-padding,20px),calc((100% - var(--crumbs-container-width,var(--container-width))) / 2 + var(--container-padding,20px)))!important;}
body .site-main.site-main .breadcrumbs .breadcrumbs__list{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:4px!important;width:100%!important;min-width:0!important;}
body .site-main.site-main .breadcrumbs .breadcrumbs__item{align-items:center!important;flex:0 0 auto!important;min-width:0!important;}
body .site-main.site-main .breadcrumbs .breadcrumbs__item:last-child{flex:0 1 auto!important;overflow:hidden!important;}
body .site-main.site-main .breadcrumbs .breadcrumbs__link{white-space:nowrap!important;min-width:0!important;}
body .site-main.site-main .breadcrumbs .breadcrumbs__item:last-child .breadcrumbs__link{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;}
body .site-main.site-main .breadcrumbs .breadcrumbs__sep{flex:0 0 auto!important;}
@media(min-width:1800px){body .site-main .breadcrumbs{--crumbs-container-width:clamp(1400px,65vw,1640px);}}
@media(min-width:1025px){
body .site-main.site-main .about-hero .about-hero__title{width:100%!important;max-width:940px!important;word-break:normal!important;overflow-wrap:normal!important;hyphens:none;text-wrap:balance;}
body .site-main.site-main .about-hero .about-hero__title .is-accent{display:inline!important;}
}

/* About hero: clean typography and a clearer photograph, without blurred text panels. */
body .site-main.site-main .about-hero .about-hero__image{opacity:1!important;filter:none!important;}
body .site-main.site-main .about-hero .about-hero__image img{filter:none!important;}
body .site-main.site-main .about-hero .about-hero__content::before,body .site-main.site-main .about-hero .about-hero__description::before{display:none!important;filter:none!important;}
body .site-main.site-main .about-hero :is(.about-hero__title,.about-hero__lead,.about-hero__text,.about-hero__title *, .about-hero__description *){text-shadow:none!important;}
body .site-main.site-main .about-hero .about-hero__image::after{background:linear-gradient(90deg,rgba(3,28,69,.48) 0%,rgba(3,28,69,.18) 24%,transparent 42%),linear-gradient(270deg,rgba(3,28,69,.6) 0%,transparent 16%),linear-gradient(0deg,rgba(3,28,69,.72) 0%,transparent 20%),linear-gradient(180deg,rgba(3,28,69,.45) 0%,transparent 14%)!important;filter:none!important;}

@media(max-width:768px){body .site-main.site-main .about-hero .about-hero__image{opacity:.5!important;}}

/* About phone proof: show every card and wrap labels instead of clipping a scrolling row. */
@media(max-width:768px){
body .site-main.site-main .about-hero .about-hero__stats.about-hero__stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;width:100%!important;max-width:100%!important;overflow:visible!important;padding-bottom:0!important;gap:10px!important;}
body .site-main.site-main .about-hero .about-hero__stats > .about-stat.about-stat{width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:96px!important;padding:14px!important;overflow:visible!important;box-sizing:border-box!important;}
body .site-main.site-main .about-hero .about-hero__stats > .about-stat.about-stat:last-child:nth-child(odd){grid-column:1 / -1;}
body .site-main.site-main .about-hero .about-stat :is(span,strong,p){max-width:100%!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;text-overflow:clip!important;height:auto!important;max-height:none!important;overflow:visible!important;}
}

/* Services background: match the image aspect ratio and feather all four edges, keeping the centre unfiltered. */
body .site-main.site-main .service-hero .service-hero__visual{filter:none!important;mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 12%,#000 84%,transparent 100%)!important;mask-composite:intersect!important;-webkit-mask-composite:source-in!important;mask-repeat:no-repeat!important;mask-size:100% 100%!important;}
body .site-main.site-main .service-hero .service-hero__visual::after{filter:none!important;background:linear-gradient(90deg,rgba(3,28,69,.9) 0%,rgba(3,28,69,.65) 30%,rgba(3,28,69,.2) 48%,transparent 62%)!important;}
@media(min-width:769px){body .site-main.site-main .service-hero .service-hero__visual{top:50%!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translate(-50%,-50%)!important;height:auto!important;min-height:0!important;max-width:1920px!important;aspect-ratio:1920 / 819;background-size:100% 100%!important;background-position:center!important;opacity:1!important;}}

@media(min-width:769px) and (max-width:1600px){body .site-main.site-main .service-hero .service-hero__visual::after{background:linear-gradient(90deg,rgba(3,28,69,.98) 0%,rgba(3,28,69,.92) 35%,rgba(3,28,69,.7) 50%,rgba(3,28,69,.2) 65%,transparent 76%)!important;}}
@media(max-width:768px){body .site-main.site-main .service-hero .service-hero__visual::after{background:linear-gradient(90deg,rgba(3,20,44,.9),rgba(3,20,44,.72) 55%,rgba(3,20,44,.35))!important;}}

/* Services phone benefits: compact full-width cards, no hidden horizontal items. */
@media(max-width:768px){
body .site-main.site-main .service-hero .service-hero__highlights.service-hero__highlights{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;gap:10px!important;width:100%!important;max-width:100%!important;overflow:visible!important;padding:0!important;scroll-snap-type:none!important;}
body .site-main.site-main .service-hero .service-hero__highlight.service-hero__highlight{width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:64px!important;padding:14px 16px!important;box-sizing:border-box!important;overflow:visible!important;justify-content:center!important;text-align:center!important;}
body .site-main.site-main .service-hero .service-hero__highlight span{width:auto!important;max-width:100%!important;min-width:0!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;line-height:1.45!important;font-size:14px!important;max-height:none!important;overflow:visible!important;}
}

/* Defence industry only: restore the photograph's natural brightness and detail. */
body.page-id-330 .site-main .public-hero .public-hero__photo{filter:none!important;opacity:1!important;}
body.page-id-330 .site-main .public-hero .public-hero__image::after{background:linear-gradient(90deg,#031c45 0%,rgba(3,28,69,.95) 28%,rgba(3,28,69,.65) 42%,rgba(3,28,69,.12) 61%,transparent 78%),linear-gradient(0deg,#031c45 0%,transparent 16%)!important;}
@media(max-width:768px){body.page-id-330 .site-main .public-hero .public-hero__image::after{background:linear-gradient(90deg,rgba(3,28,69,.88),rgba(3,28,69,.65) 60%,rgba(3,28,69,.35)),linear-gradient(0deg,#031c45 0%,transparent 20%)!important;}}

/* Defence proof labels match homepage proof typography. */
body.page-id-330 .site-main.site-main .public-proof.public-proof > li,body.page-id-330 .site-main.site-main .public-proof.public-proof > li > span{font-size:14px!important;line-height:1.4!important;font-weight:400!important;}
@media(max-width:768px){body.page-id-330 .site-main.site-main .public-proof.public-proof > li,body.page-id-330 .site-main.site-main .public-proof.public-proof > li > span{font-size:13px!important;line-height:1.45!important;}}

/* Industry hero benefits: content-sized desktop cards, readable type and a fully visible phone grid. */
body.parent-pageid-24 .site-main.site-main :is(.hero-proof.hero-proof,.com-proof.com-proof,.ind-proof.ind-proof,.public-proof.public-proof){display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:12px!important;width:100%!important;max-width:100%!important;grid-template-columns:none!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;overflow:visible!important;padding:0!important;scroll-snap-type:none!important;}
body.parent-pageid-24 .site-main.site-main :is(.hero-proof.hero-proof,.com-proof.com-proof,.ind-proof.ind-proof,.public-proof.public-proof) > li{flex:0 1 auto!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:auto!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:56px!important;padding:14px 18px!important;box-sizing:border-box!important;overflow:visible!important;font-size:14px!important;font-weight:400!important;line-height:1.4!important;}
body.parent-pageid-24 .site-main.site-main :is(.hero-proof.hero-proof,.com-proof.com-proof,.ind-proof.ind-proof,.public-proof.public-proof) > li > span{width:auto!important;max-width:100%!important;min-width:0!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;max-height:none!important;height:auto!important;overflow:visible!important;text-overflow:clip!important;font-size:14px!important;line-height:1.4!important;font-weight:400!important;}
body.parent-pageid-24 .site-main.site-main :is(.hero-proof.hero-proof,.com-proof.com-proof,.ind-proof.ind-proof,.public-proof.public-proof) > li > svg{flex:0 0 18px!important;width:18px!important;height:18px!important;}
@media(max-width:768px){
body.parent-pageid-24 .site-main.site-main :is(.hero-proof.hero-proof,.com-proof.com-proof,.ind-proof.ind-proof,.public-proof.public-proof){display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
body.parent-pageid-24 .site-main.site-main :is(.hero-proof.hero-proof,.com-proof.com-proof,.ind-proof.ind-proof,.public-proof.public-proof) > li{width:100%!important;min-height:56px!important;padding:12px 14px!important;gap:8px!important;}
body.parent-pageid-24 .site-main.site-main :is(.hero-proof.hero-proof,.com-proof.com-proof,.ind-proof.ind-proof,.public-proof.public-proof) > li,body.parent-pageid-24 .site-main.site-main :is(.hero-proof.hero-proof,.com-proof.com-proof,.ind-proof.ind-proof,.public-proof.public-proof) > li > span{font-size:13px!important;line-height:1.45!important;}
}
@media(max-width:340px){body.parent-pageid-24 .site-main.site-main :is(.hero-proof.hero-proof,.com-proof.com-proof,.ind-proof.ind-proof,.public-proof.public-proof){grid-template-columns:minmax(0,1fr)!important;}}

@media(max-width:420px){body.parent-pageid-24 .site-main.site-main :is(.hero-proof.hero-proof,.com-proof.com-proof,.ind-proof.ind-proof,.public-proof.public-proof){grid-template-columns:minmax(0,1fr)!important;}}
body.parent-pageid-24 .site-main.site-main :is(.hero-proof.hero-proof,.com-proof.com-proof,.ind-proof.ind-proof,.public-proof.public-proof) > li > span{overflow-wrap:normal!important;}

/* Public buildings: wide-screen illustration stays near the centred copy rather than the window edge. */
@media(min-width:1921px){
body.page-id-291 .site-main .public-hero__image::before{left:auto!important;right:clamp(0px,calc(45vw - 864px),640px)!important;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 4%,#000 20%,#000 85%,transparent 100%)!important;}
body.page-id-291 .site-main .public-hero__photo-credit{transform:translateX(clamp(-288px,calc(388.8px - 20.25vw),0px))!important;}
}

/* Industrial desktop proof row may extend beyond the copy column, within the page gutters. */
@media(min-width:1025px){
body.page-id-238 .site-main.site-main .ind-proof.ind-proof{width:max-content!important;max-width:min(calc(100vw - 40px),calc(var(--container-width) - 40px))!important;flex-wrap:nowrap!important;}
}

/* Partners hero proof matches the content-sized industry cards. */
body .site-main.site-main .partners-hero .partners-hero__proof.partners-hero__proof{display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important;gap:12px!important;width:max-content!important;max-width:min(calc(100vw - 40px),calc(var(--container-width) - 40px))!important;grid-template-columns:none!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;padding:0!important;overflow:visible!important;scroll-snap-type:none!important;}
body .site-main.site-main .partners-hero .partners-hero__proof-item.partners-hero__proof-item{display:flex!important;align-items:center!important;justify-content:flex-start!important;flex:0 1 auto!important;gap:10px!important;width:auto!important;max-width:100%!important;min-width:0!important;height:auto!important;min-height:56px!important;padding:14px 18px!important;box-sizing:border-box!important;overflow:visible!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;font-size:14px!important;font-weight:400!important;line-height:1.4!important;}
body .site-main.site-main .partners-hero .partners-hero__proof-item > svg{flex:0 0 18px!important;width:18px!important;height:18px!important;}
@media(max-width:768px){
body .site-main.site-main .partners-hero .partners-hero__proof.partners-hero__proof{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;max-width:100%!important;gap:10px!important;}
body .site-main.site-main .partners-hero .partners-hero__proof-item.partners-hero__proof-item{width:100%!important;min-height:56px!important;padding:12px 14px!important;gap:8px!important;font-size:13px!important;line-height:1.45!important;}
}
@media(max-width:420px){body .site-main.site-main .partners-hero .partners-hero__proof.partners-hero__proof{grid-template-columns:minmax(0,1fr)!important;}}

/* Contacts illustration: close the excessive gap on wide monitors without changing laptop/mobile framing. */
@media(min-width:1921px){body .site-main.site-main .contacts-hero .contacts-hero__image{left:auto!important;right:clamp(0px,calc(40vw - 768px),600px)!important;}}

/* Blog expertise card shares the primary action's size and typography. */
body .site-main.site-main .blog-hero .blog-hero__actions{--blog-action-width:270px;align-items:center!important;}
body .site-main.site-main .blog-hero .blog-hero__actions > .btn,body .site-main.site-main .blog-hero .blog-hero__proof.blog-hero__proof{width:var(--blog-action-width)!important;max-width:100%!important;box-sizing:border-box!important;}
body .site-main.site-main .blog-hero .blog-hero__proof.blog-hero__proof{display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:row!important;gap:8px!important;height:auto!important;min-height:56px!important;padding:8px 12px!important;font-size:15.5px!important;line-height:1.2!important;font-weight:400!important;text-align:center!important;border-radius:10px!important;white-space:normal!important;}
body .site-main.site-main .blog-hero .blog-hero__proof.blog-hero__proof strong{flex:0 0 auto!important;font-size:15.5px!important;line-height:1.2!important;font-weight:400!important;margin:0!important;}
@media(max-width:768px){body .site-main.site-main .blog-hero .blog-hero__actions{--blog-action-width:100%;flex-direction:column!important;align-items:stretch!important;gap:12px!important;}}

/* Blog expertise: prominent branded number, compact action-sized card. */
body .site-main.site-main .blog-hero .blog-hero__proof.blog-hero__proof{gap:12px!important;}
body .site-main.site-main .blog-hero .blog-hero__proof.blog-hero__proof strong{font-size:28px!important;line-height:1!important;font-weight:600!important;letter-spacing:-.5px!important;white-space:nowrap!important;background:var(--gradient-accent)!important;background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;}

/* Industry directory cards: the homepage icon and typography system. */
body .site-main.site-main #industries-list .industry-card.industry-card{display:grid!important;grid-template-columns:60px minmax(0,1fr)!important;column-gap:16px!important;row-gap:0!important;align-content:start!important;min-height:0!important;height:auto!important;padding:32px 50% 32px 32px!important;border-radius:22px!important;}
body .site-main.site-main #industries-list .industry-card__top,body .site-main.site-main #industries-list .industry-card__wide-content,body .site-main.site-main #industries-list .industry-card__wide-content > div{display:contents!important;}
body .site-main.site-main #industries-list .industry-card__number{display:none!important;}
body .site-main.site-main #industries-list .industry-card__icon{grid-column:1!important;grid-row:1!important;width:60px!important;height:60px!important;margin:0!important;border:0!important;background:var(--directory-icon) center/contain no-repeat!important;box-shadow:none!important;filter:none!important;}
body .site-main.site-main #industries-list .industry-card__icon svg{display:none!important;}
body .site-main.site-main #industries-list .industry-card h3{grid-column:2!important;grid-row:1!important;align-self:center!important;width:auto!important;max-width:none!important;margin:0!important;font-family:var(--font-body)!important;font-size:24px!important;font-weight:600!important;line-height:1.25!important;letter-spacing:-.35px!important;color:#edf2ff!important;text-shadow:none!important;word-break:normal!important;overflow-wrap:normal!important;}
body .site-main.site-main #industries-list .industry-card p{grid-column:1/-1!important;width:auto!important;max-width:none!important;margin:16px 0 0!important;font-size:16px!important;line-height:1.55!important;font-weight:400!important;background:var(--gradient-accent)!important;background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important;}
body .site-main.site-main #industries-list .industry-card ul{grid-column:1/-1!important;max-width:none!important;margin:18px 0 26px!important;gap:8px!important;}
body .site-main.site-main #industries-list .industry-card li{padding-left:22px!important;font-size:16px!important;line-height:1.6!important;color:#b8d1ff!important;font-weight:400!important;}
body .site-main.site-main #industries-list .industry-card li::before{content:'✓'!important;top:0!important;left:0!important;width:auto!important;height:auto!important;background:none!important;box-shadow:none!important;color:#ffcf00!important;font-size:15px!important;}
body .site-main.site-main #industries-list .industry-card__link{grid-column:1/-1!important;justify-self:start!important;max-width:100%!important;margin:0!important;min-height:56px!important;padding:14px 24px!important;font-size:15.5px!important;line-height:1.3!important;}
body #industries-list #industry-residential,body #industries-list #industry-public{--directory-icon:url('/wp-content/uploads/2026/08/icon-5.svg');}
body #industries-list #industry-commercial{--directory-icon:url('/wp-content/uploads/2026/08/icon-3.svg');}
body #industries-list #industry-industrial{--directory-icon:url('/wp-content/uploads/2026/08/icon-4.svg');}
body #industries-list #industry-defence{--directory-icon:url('/wp-content/uploads/2026/08/matters-public.svg');}
body #industries-list #industry-medical{--directory-icon:url('/wp-content/uploads/2026/08/icon-2.svg');}
body #industries-list #industry-infrastructure{--directory-icon:url('/wp-content/uploads/2026/08/icon-1.svg');}
@media(max-width:760px){
body .site-main.site-main #industries-list .industry-card.industry-card{grid-template-columns:48px minmax(0,1fr)!important;column-gap:12px!important;padding:205px 22px 24px!important;}
body .site-main.site-main #industries-list .industry-card__icon{width:48px!important;height:48px!important;}
body .site-main.site-main #industries-list .industry-card h3{font-size:20px!important;line-height:1.3!important;}
body .site-main.site-main #industries-list .industry-card p,body .site-main.site-main #industries-list .industry-card li{font-size:16px!important;}
body .site-main.site-main #industries-list .industry-card__link{justify-self:stretch!important;width:100%!important;}
}

/* Keep the directory action label clear of its arrow. */
body .site-main.site-main #industries-list .industry-card__link{width:200px!important;padding-right:48px!important;padding-left:24px!important;box-sizing:border-box!important;}
@media(max-width:760px){body .site-main.site-main #industries-list .industry-card__link{width:100%!important;}}

/* Separate illustration and copy in the three dense directory cards. */
@media(min-width:761px){
body .site-main.site-main #industries-list :is(#industry-commercial,#industry-defence,#industry-medical)::before{inset:20px 0 20px auto!important;width:46%!important;height:auto!important;aspect-ratio:auto!important;transform:none!important;background-position:center!important;mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 92%,transparent 100%)!important;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 92%,transparent 100%)!important;}
body .site-main.site-main #industries-list #industry-commercial::before{background-size:contain!important;}
body .site-main.site-main #industries-list :is(#industry-defence,#industry-medical)::before{background-size:100% 100%,contain!important;}
}
body .site-main.site-main #industries-list :is(#industry-commercial,#industry-defence,#industry-medical) p{background:linear-gradient(90deg,#83bfff 0%,#c6ddff 65%,#f6d6aa 100%)!important;background-clip:text!important;-webkit-background-clip:text!important;}
@media(max-width:760px){
body .site-main.site-main #industries-list :is(#industry-commercial,#industry-defence,#industry-medical)::before{inset:0 0 auto!important;width:100%!important;height:190px!important;transform:none!important;aspect-ratio:auto!important;background-position:center!important;}
body .site-main.site-main #industries-list #industry-commercial::before{background-size:contain!important;}
body .site-main.site-main #industries-list :is(#industry-defence,#industry-medical)::before{background-size:100% 100%,contain!important;}
}

/* Directory hero experience: readable card typography and branded metric. */
body .site-main.site-main .industries-hero__experience.industries-hero__experience{height:auto!important;font-family:var(--font-body)!important;}
body .site-main.site-main .industries-hero__experience-stat{display:flex!important;align-items:center!important;gap:16px!important;}
body .site-main.site-main .industries-hero__experience-stat strong{flex:0 0 auto!important;font-size:32px!important;line-height:1.1!important;font-weight:600!important;background:var(--gradient-accent)!important;background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;}
body .site-main.site-main .industries-hero__experience-stat > span{font-size:16px!important;line-height:1.5!important;font-weight:400!important;color:#edf2ff!important;max-width:none!important;}
body .site-main.site-main .industries-hero__experience > p{font-size:16px!important;line-height:1.6!important;font-weight:400!important;color:#b8d1ff!important;}
body .site-main.site-main .industries-hero__experience .industries-intro__accent{background:linear-gradient(90deg,#83bfff,#c6ddff)!important;background-clip:text!important;-webkit-background-clip:text!important;}

/* Projects hero metrics: content-sized cards matching the industry type system. */
body .site-main.site-main .projects-hero__layout{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important;gap:40px!important;}
body .site-main.site-main .projects-hero__stats.projects-hero__stats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;width:100%!important;max-width:560px!important;justify-self:end!important;align-items:stretch!important;}
body .site-main.site-main .projects-hero__stat.projects-hero__stat{height:auto!important;min-height:160px!important;padding:22px 24px!important;box-sizing:border-box!important;border-radius:16px!important;overflow:visible!important;}
body .site-main.site-main .projects-hero__stat strong{font-size:32px!important;font-weight:600!important;line-height:1.1!important;letter-spacing:-.5px!important;white-space:nowrap!important;background:var(--gradient-accent)!important;background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;}
body .site-main.site-main .projects-hero__stat span{font-family:var(--font-body)!important;font-size:16px!important;font-weight:400!important;line-height:1.5!important;color:#b8d1ff!important;margin-top:12px!important;word-break:normal!important;overflow-wrap:normal!important;}
@media(max-width:900px){body .site-main.site-main .projects-hero__layout{grid-template-columns:minmax(0,1fr)!important;gap:28px!important;}body .site-main.site-main .projects-hero__stats.projects-hero__stats{justify-self:start!important;}}
@media(max-width:540px){body .site-main.site-main .projects-hero__stats.projects-hero__stats{grid-template-columns:minmax(0,1fr)!important;gap:12px!important;}body .site-main.site-main .projects-hero__stat.projects-hero__stat{display:grid!important;grid-template-columns:96px minmax(0,1fr)!important;align-items:center!important;gap:16px!important;min-height:100px!important;padding:18px 20px!important;}body .site-main.site-main .projects-hero__stat span{margin-top:0!important;}}

/* Override the legacy horizontal proof carousel on the project hero. */
body .site-main.site-main .projects-hero__stats.projects-hero__stats{grid-auto-flow:row!important;grid-auto-columns:auto!important;overflow:visible!important;scroll-snap-type:none!important;padding:0!important;}
body .site-main.site-main .projects-hero__stat.projects-hero__stat{width:100%!important;min-width:0!important;max-width:100%!important;}

/* Residential importance cards: readable text at every breakpoint. */
body .site-main.site-main #residential-importance .importance-list{list-style:none!important;display:grid!important;gap:16px!important;padding:0!important;margin:0!important;}
body .site-main.site-main #residential-importance .importance-item.importance-item{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;gap:16px!important;padding:24px!important;height:auto!important;min-height:0!important;box-sizing:border-box!important;}
body .site-main.site-main #residential-importance .importance-item::marker{content:''!important;}
body .site-main.site-main #residential-importance .importance-item > div{min-width:0!important;}
body .site-main.site-main #residential-importance .importance-item__title{font-family:var(--font-body)!important;font-size:22px!important;line-height:1.3!important;font-weight:600!important;color:#edf2ff!important;margin:0 0 10px!important;}
body .site-main.site-main #residential-importance .importance-item__text{font-family:var(--font-body)!important;font-size:16px!important;line-height:1.6!important;font-weight:400!important;color:#c6d9fa!important;margin:0!important;word-break:normal!important;overflow-wrap:normal!important;}
body .site-main.site-main #residential-importance .importance-item__number{font-size:14px!important;line-height:1.6!important;color:#8bc4ff!important;padding-top:3px!important;}
@media(max-width:540px){body .site-main.site-main #residential-importance .importance-item.importance-item{grid-template-columns:24px minmax(0,1fr)!important;gap:10px!important;padding:20px 16px!important;}body .site-main.site-main #residential-importance .importance-item__title{font-size:20px!important;}}

/* Homepage metric gradients and symmetric mobile proof layout. */
body.home .site-main.site-main .hero .hero__stats .stat__value.stat__value{display:inline-block!important;width:max-content!important;max-width:100%!important;background:var(--gradient-accent)!important;background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;font-weight:600!important;}
@media(max-width:768px){
body.home .site-main.site-main .hero .hero__proof.hero__proof{width:100%!important;max-width:100%!important;}
body.home .site-main.site-main .hero .hero__stats.hero__stats,body.home .site-main.site-main .hero .hero__chips.hero__chips{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;gap:12px!important;width:100%!important;padding:0!important;overflow:visible!important;}
body.home .site-main.site-main .hero .hero__stats .stat.stat{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;width:100%!important;min-width:0!important;height:auto!important;min-height:112px!important;padding:18px 10px!important;box-sizing:border-box!important;text-align:center!important;}
body.home .site-main.site-main .hero .hero__stats .stat__value.stat__value{font-size:32px!important;line-height:1.1!important;margin:0!important;white-space:nowrap!important;}
body.home .site-main.site-main .hero .hero__stats .stat__label.stat__label{font-size:14px!important;line-height:1.45!important;margin:0!important;max-width:100%!important;color:#c6d9fa!important;}
body.home .site-main.site-main .hero .hero__chips.hero__chips{margin-top:12px!important;}
body.home .site-main.site-main .hero .hero__chip.hero__chip{display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:100%!important;min-width:0!important;min-height:40px!important;height:auto!important;padding:8px 6px!important;box-sizing:border-box!important;font-size:13px!important;line-height:1.4!important;white-space:normal!important;text-align:center!important;}
body.home .site-main.site-main .hero .hero__chip svg{flex:0 0 16px!important;width:16px!important;height:16px!important;}
}

@media(max-width:768px){body.home .site-main.site-main .hero .hero__chip.hero__chip{flex-direction:row!important;}body.home .site-main.site-main .hero .hero__chip.hero__chip span{flex:0 1 auto!important;width:auto!important;max-width:none!important;white-space:nowrap!important;}body.home .site-main.site-main .hero .hero__chip.hero__chip svg{margin:0!important;}}

/* Shared client carousel: compact, legible mobile treatment on every page. */
@media(max-width:768px){
body .site-main.site-main .clients.clients{padding:24px 0!important;min-height:0!important;height:auto!important;}
body .site-main.site-main .clients .clients__head{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;}
body .site-main.site-main .clients .clients__title.clients__title{width:auto!important;max-width:none!important;margin:0!important;font-size:10.5px!important;line-height:1.5!important;font-weight:500!important;letter-spacing:1.1px!important;word-break:normal!important;overflow-wrap:normal!important;}
body .site-main.site-main .clients .clients__arrows{display:flex!important;gap:4px!important;}
body .site-main.site-main .clients .clients__arrow{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;border-radius:12px!important;}
body .site-main.site-main .clients .clients__arrow svg{width:16px!important;height:16px!important;}
body .site-main.site-main .clients .clients__track-wrap{margin-top:14px!important;}
body .site-main.site-main .clients .clients__item.clients__item{height:56px!important;min-height:0!important;width:auto!important;max-width:none!important;padding:7px 9px!important;margin-right:8px!important;border-radius:12px!important;box-sizing:border-box!important;}
body .site-main.site-main .clients .clients__logo.clients__logo{height:40px!important;width:auto!important;max-height:40px!important;max-width:120px!important;object-fit:contain!important;}
}

/* Unified mobile heading scale and left-aligned editorial content. Desktop unchanged. */
@media(max-width:768px){
body #page #primary.site-main{--fs-h1:32px;--fs-h2:26px;--fs-h3:20px;--lh-h1:1.25;--lh-h2:1.25;--lh-h3:1.25;}
body #page #primary.site-main h1{font-size:32px!important;line-height:1.25!important;}
body #page #primary.site-main h2:not(.clients__title){font-size:26px!important;line-height:1.25!important;}
body #page #primary.site-main h3{font-size:20px!important;line-height:1.25!important;}
body #page #primary.site-main :is(h1,h2,h3){text-align:left!important;word-break:normal!important;overflow-wrap:normal!important;letter-spacing:-.35px!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;}
body #page #primary.site-main :is(h1,h2,h3) :is(span,strong,em){font-size:inherit!important;line-height:inherit!important;}
body #page #primary.site-main h3 button{font-size:inherit!important;line-height:inherit!important;text-align:left!important;}
body #page #primary.site-main p{text-align:left!important;}
body #page #primary.site-main p:not(.section-eyebrow):not(.eyebrow){font-size:16px!important;line-height:1.6!important;}
body #page #primary.site-main :is(.section-eyebrow,.eyebrow){text-align:left!important;justify-content:flex-start!important;align-self:stretch!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;}
body #page #primary.site-main :is(.seo__head,.services__head,.experience__head,.industries__head,.industries-list__title,.projects-catalog__head,.faq__head){text-align:left!important;align-items:flex-start!important;}
body #page #primary.site-main :is(.entry-content,.industry-card__text,.importance-item__text){text-align:left!important;}
body #page #primary.site-main .clients__title{font-size:10.5px!important;line-height:1.5!important;letter-spacing:1.1px!important;}
}

/* Equal space between the estimate card and its section dividers. */
body #page #primary.site-main .get-estimate.get-estimate{padding-top:80px!important;padding-bottom:80px!important;}
body #page #primary.site-main .get-estimate > .container{padding-top:0!important;padding-bottom:0!important;}
body #page #primary.site-main .get-estimate .get-estimate__card{margin-top:0!important;margin-bottom:0!important;}
@media(max-width:768px){body #page #primary.site-main .get-estimate.get-estimate{padding-top:56px!important;padding-bottom:56px!important;}}

/* One FAQ type scale for all shared and page-specific templates. */
body #page #primary.site-main :is(.faq__title,.service-faq__heading,[id$="-faq"] h2,.faq h2){font-size:40px!important;line-height:1.25!important;}
body #page #primary.site-main :is(.faq__title,.service-faq__heading,[id$="-faq"] h2,.faq h2) :is(span,strong){font-size:inherit!important;line-height:inherit!important;}
body #page #primary.site-main :is(.faq-item__heading,.faq-item__toggle,.faq-item__question){font-family:var(--font-body)!important;font-size:18px!important;line-height:1.4!important;font-weight:500!important;text-align:left!important;word-break:normal!important;overflow-wrap:normal!important;}
body #page #primary.site-main .faq-item__toggle .faq-item__question{min-width:0!important;}
body #page #primary.site-main :is(.faq-item__answer,.faq-item__answer p,.faq-item__answer li,.faq-item__answer .rich-text){font-family:var(--font-body)!important;font-size:16px!important;line-height:1.6!important;font-weight:400!important;text-align:left!important;}
@media(max-width:768px){body #page #primary.site-main :is(.faq__title,.service-faq__heading,[id$="-faq"] h2,.faq h2){font-size:20px!important;line-height:1.3!important;}}

/* Residential mobile heading: allow normal wrapping across the accent boundary. */
@media(max-width:768px){
body #page #primary.site-main #residential-title.residential-hero__title{ text-wrap:pretty!important; }
body #page #primary.site-main #residential-title .is-accent{display:inline!important;}
body #page #primary.site-main #residential-importance .importance-list{padding-left:18px!important;}
body #page #primary.site-main #residential-importance .importance-list::before{left:7px!important;top:32px!important;bottom:32px!important;}
body #page #primary.site-main #residential-importance .importance-item::before{left:-11px!important;top:32px!important;width:7px!important;height:7px!important;box-sizing:border-box!important;transform:translate(-50%,-50%)!important;}
}

/* Mobile breadcrumbs: one readable font; correct two legacy hero offsets. */
@media(max-width:768px){
body #page #primary.site-main .breadcrumbs,body #page #primary.site-main .breadcrumbs :is(.breadcrumbs__list,.breadcrumbs__item,.breadcrumbs__link){font-size:14px!important;line-height:1.45!important;}
body #page #primary.site-main :is(.com-hero,.ind-hero){display:block!important;padding-top:24px!important;gap:0!important;}
body #page #primary.site-main :is(.com-hero,.ind-hero) > .breadcrumbs{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:none!important;margin:0 0 12px!important;box-sizing:border-box!important;}
body #page #primary.site-main :is(.com-hero,.ind-hero) > .container{padding-top:0!important;}
body #page #primary.site-main :is(.com-hero,.ind-hero) h1{margin-top:0!important;}
}

@media(max-width:768px){body #page #primary.site-main #commercial-title{text-wrap:pretty!important;}body #page #primary.site-main #commercial-title .is-accent{display:inline!important;}}

/* Blog mobile hero: show the tower on the right and keep its credit compact. */
@media(max-width:768px){
body #page #primary.site-main .blog-hero .blog-hero__art{inset:0!important;opacity:1!important;background:none!important;mask-image:none!important;-webkit-mask-image:none!important;}
body #page #primary.site-main .blog-hero .blog-hero__art::before{inset:0!important;background-position:70% center!important;background-size:auto 100%!important;background-repeat:no-repeat!important;mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 20%,#000 48%)!important;-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.45) 20%,#000 48%)!important;}
body #page #primary.site-main .blog-hero::before{background:linear-gradient(90deg,rgba(1,8,23,.93) 0%,rgba(1,10,28,.82) 40%,rgba(2,16,39,.45) 78%,rgba(2,16,39,.28) 100%),linear-gradient(180deg,rgba(1,8,23,.25),transparent 30%,rgba(3,29,71,.2) 75%,#031d47)!important;}
body #page #primary.site-main .blog-hero p.blog-hero__caption{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:5px!important;margin-top:24px!important;padding-top:12px!important;font-size:11px!important;line-height:1.45!important;letter-spacing:.15px!important;max-width:100%!important;color:#b8cbe6!important;}
body #page #primary.site-main .blog-hero .blog-hero__caption span:first-child{font-size:10px!important;line-height:1.4!important;letter-spacing:1px!important;}
body #page #primary.site-main .blog-hero .blog-hero__caption span:last-child{font-size:11px!important;line-height:1.45!important;letter-spacing:.15px!important;}
}

/* Blog topics: a single native dropdown on phones, chips retained on desktop. */
body #page #primary.site-main .blog-topic-select{display:none;}
@media(max-width:768px){
body #page #primary.site-main .blog-topic-select{display:grid!important;gap:8px!important;width:100%!important;margin:24px 0 16px!important;}
body #page #primary.site-main .blog-topic-select > span{font-size:14px!important;line-height:1.4!important;color:#b8d1ff!important;}
body #page #primary.site-main .blog-topic-select select{display:block!important;width:100%!important;min-width:0!important;min-height:52px!important;padding:12px 40px 12px 16px!important;border:1px solid rgba(139,185,255,.3)!important;border-radius:12px!important;background-color:#101b3b!important;color:#edf2ff!important;font-family:var(--font-body)!important;font-size:16px!important;line-height:1.4!important;box-sizing:border-box!important;}
body #page #primary.site-main .blog-topic-select option{background:#101b3b;color:#edf2ff;}
body #page #primary.site-main .blog-filters{display:none!important;}
}
body #page #primary.site-main .blog-card__bottom{justify-content:flex-start!important;}

@media(max-width:768px){body #page #primary.site-main .blog-topic-select select{appearance:auto!important;-webkit-appearance:auto!important;color-scheme:dark;}}

/* Contacts hero: compact cards, complete labels and no mobile carousel. */
body #page #primary.site-main .contacts-hero__proof.contacts-hero__proof{grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;gap:10px!important;width:100%!important;max-width:820px!important;overflow:visible!important;scroll-snap-type:none!important;padding:0!important;margin-top:24px!important;}
body #page #primary.site-main .contacts-hero__proof .contacts-hero__proof-item.contacts-hero__proof-item{min-height:54px!important;height:auto!important;min-width:0!important;width:auto!important;padding:12px 14px!important;gap:8px!important;overflow:visible!important;font-size:14px!important;line-height:1.45!important;white-space:normal!important;overflow-wrap:anywhere!important;scroll-snap-align:none!important;}
body #page #primary.site-main .contacts-hero__proof-icon{width:16px!important;height:16px!important;flex:0 0 16px!important;}
@media(max-width:768px){
body #page #primary.site-main .contacts-hero__proof.contacts-hero__proof{grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;gap:10px!important;margin-top:20px!important;overflow:visible!important;padding-bottom:0!important;}
body #page #primary.site-main .contacts-hero__proof .contacts-hero__proof-item.contacts-hero__proof-item{min-height:56px!important;padding:12px!important;border-radius:12px!important;}
body #page #primary.site-main .contacts-hero__content{min-width:0!important;width:100%!important;}
body #page #primary.site-main .contacts-hero__title{overflow-wrap:break-word!important;}
}

/* Compact and consistent mobile FAQ across all page templates. */
@media(max-width:768px){
body #page #primary.site-main :is(.faq__title,.service-faq__heading,[id$="-faq"] h2,.faq h2){font-size:18px!important;line-height:1.35!important;}
body #page #primary.site-main :is(.faq-item__heading,.faq-item__toggle,.faq-item__question){font-size:14px!important;line-height:1.4!important;font-weight:500!important;letter-spacing:0!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;}
body #page #primary.site-main .faq-item__toggle{gap:8px!important;padding:13px 12px!important;min-height:50px!important;align-items:center!important;}
body #page #primary.site-main .faq-item__question{flex:1 1 auto!important;min-width:0!important;max-width:100%!important;}
body #page #primary.site-main .faq-item__icon{width:24px!important;height:24px!important;flex:0 0 24px!important;border-radius:6px!important;}
body #page #primary.site-main .faq-item__icon-svg{width:16px!important;height:16px!important;}
body #page #primary.site-main :is(.faq-item__answer.faq-item__answer,.faq-item__answer.faq-item__answer p,.faq-item__answer.faq-item__answer li,.faq-item__answer.faq-item__answer .rich-text){font-size:14px!important;line-height:1.6!important;font-weight:400!important;letter-spacing:0!important;overflow-wrap:break-word!important;}
body #page #primary.site-main .faq-item__answer{padding:0 12px 14px!important;}
body #page #primary.site-main .faq__list{gap:10px!important;}
}

/* BIM management: show complete benefit cards instead of a cropped mobile carousel. */
@media(max-width:768px){
body #page #primary.site-main .bim-hero .bim-hero__badges.bim-hero__badges{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-flow:row!important;grid-auto-columns:auto!important;gap:10px!important;overflow:visible!important;scroll-snap-type:none!important;padding:0!important;width:100%!important;max-width:100%!important;}
body #page #primary.site-main .bim-hero .bim-hero__badge.bim-hero__badge{min-width:0!important;width:100%!important;min-height:64px!important;height:auto!important;padding:14px!important;overflow:visible!important;gap:12px!important;align-items:flex-start!important;font-size:14px!important;line-height:1.5!important;box-sizing:border-box!important;}
body #page #primary.site-main .bim-hero .bim-hero__badge > span{display:block!important;flex:1 1 auto!important;min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:break-word!important;font-size:14px!important;line-height:1.5!important;}
body #page #primary.site-main .bim-hero .bim-hero__badge svg{width:20px!important;height:20px!important;flex:0 0 20px!important;margin-top:1px!important;}
}
