@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 400;
    font-display: optional;
    src: url("../fonts/plus-jakarta-sans/PlusJakartaSans-400.ttf") format("truetype");
}

@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 500;
    font-display: optional;
    src: url("../fonts/plus-jakarta-sans/PlusJakartaSans-500.ttf") format("truetype");
}

@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 600;
    font-display: optional;
    src: url("../fonts/plus-jakarta-sans/PlusJakartaSans-600.ttf") format("truetype");
}

@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 700;
    font-display: optional;
    src: url("../fonts/plus-jakarta-sans/PlusJakartaSans-700.ttf") format("truetype");
}

@font-face {
    font-family: "Plus Jakarta Sans";
    font-style: normal;
    font-weight: 800;
    font-display: optional;
    src: url("../fonts/plus-jakarta-sans/PlusJakartaSans-800.ttf") format("truetype");
}

:root {
    --blue-dark: #111111;
    --blue-main: #f2b705;
    --blue-soft: #ffd24a;
    --accent-red: #f2b705;
    --ink: #161616;
    --muted: #5f5f5f;
    --header-font: "Plus Jakarta Sans", "Segoe UI", "Noto Sans", Tahoma, sans-serif;
    --radius-sm: 7px;
    --radius-md: 9px;
    --radius-lg: 12px;
}

html, body {
    overflow-x: hidden;
}

body {
    font-family: var(--header-font);
    color: var(--ink);
    background: #faf9f6;
    padding-bottom: 0;
    font-size: 15px;
}

@supports (content-visibility: auto) {
    .home-featured-section,
    .home-list-section,
    .home-brands-section,
    .site-footer,
    .copyright-license-bar {
        content-visibility: auto;
        contain-intrinsic-size: 720px;
    }
}

img {
    max-width: 100%;
    height: auto;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid #f2b705;
    outline-offset: 2px;
}

.container-fluid {
    max-width: 1180px;
    margin-inline: auto;
    padding-inline: clamp(18px, 3.2vw, 42px) !important;
}

.site-header {
    z-index: 1030;
    font-family: var(--header-font);
}

.top-meta-bar {
    background: var(--blue-dark);
    color: #f5f5f5;
    font-size: .72rem;
}

.top-meta-item {
    color: #f8f8f8;
    text-decoration: none;
    opacity: .95;
}

.top-meta-item i {
    margin-right: .4rem;
}

.top-meta-item:hover {
    color: #fff;
    opacity: 1;
}

.social-group a {
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fefefe;
    border-left: 1px solid rgba(242, 183, 5, .26);
    text-decoration: none;
}

.social-group a:last-child {
    border-right: 1px solid rgba(242, 183, 5, .26);
}

.social-group a:hover {
    background: rgba(242, 183, 5, .16);
    color: #fff;
}

.appointment-btn {
    background: var(--accent-red);
    color: #101010;
    text-decoration: none;
    font-weight: 700;
    font-size: .72rem;
    padding: 7px 12px;
    letter-spacing: .02em;
    border-radius: 4px;
}

.appointment-btn:hover {
    color: #101010;
    filter: brightness(1.04);
}

.main-navbar {
    --bs-navbar-padding-y: 0;
    --bs-navbar-padding-x: 0;
    border-bottom: 1px solid #e8e1c9;
    background: #fff;
    box-shadow: 0 4px 14px rgba(12, 12, 12, .025);
}

.main-navbar-inner {
    height: 54px;
    min-height: 54px;
}

.main-navbar.has-image-brand .main-navbar-inner {
    height: 54px;
    min-height: 54px;
    overflow: visible;
}

.main-navbar .navbar-brand {
    padding-top: 0;
    padding-bottom: 0;
    margin-right: .48rem;
}

.main-navbar .navbar-toggler {
    margin-top: 0;
    margin-bottom: 0;
}

.brand-logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: #151515;
    gap: .3rem;
    font-weight: 800;
    font-size: 1rem;
}

.brand-mark {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(145deg, #8a6700 0%, #f2b705 65%, #ffe29f 100%);
    color: #111;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .84rem;
}

.brand-text {
    font-size: .86rem;
    line-height: 1;
}

.brand-stack {
    display: inline-flex;
    flex-direction: column;
    line-height: 1.05;
}

.brand-slogan {
    font-size: .56rem;
    font-weight: 400;
    color: #6b7280;
    letter-spacing: .01em;
    margin-top: 1px;
}

.brand-logo-image-only {
    gap: 0;
    align-items: center;
    height: 100%;
    max-width: calc(100% - 64px);
}

.brand-image {
    display: block;
    width: auto;
    height: 50px;
    object-fit: contain;
    max-width: clamp(170px, 24vw, 300px);
}

@keyframes brandLogoFloat {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-0.5px) scale(1.008); }
}

.brand-logo-image-only .brand-image {
    animation: brandLogoFloat 4.8s ease-in-out infinite;
    filter: drop-shadow(0 4px 12px rgba(17, 17, 17, .14));
    transition: transform .24s ease, filter .24s ease;
}

.brand-logo-image-only:hover .brand-image {
    animation-play-state: paused;
    transform: translateY(-0.5px) scale(1.01);
    filter: drop-shadow(0 6px 16px rgba(17, 17, 17, .18));
}

.main-nav-toggler {
    border: 1px solid #d8cfb0;
    border-radius: var(--radius-sm);
    padding: .22rem .34rem;
    background: #fff;
    position: relative;
    z-index: 1102;
}

.main-nav-toggler:focus {
    box-shadow: 0 0 0 .2rem rgba(242, 183, 5, .25);
}

.main-menu-list {
    display: flex;
    align-items: center;
    gap: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    margin: 0;
}

.main-menu-list .nav-link {
    font-size: .8rem;
    font-weight: 600;
    color: #242424;
    letter-spacing: .008em;
    text-transform: none;
    padding: .34rem .12rem !important;
    margin: 0 .34rem;
    transition: color .2s ease, background-color .2s ease;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    line-height: 1.1;
    border: 0;
    border-radius: var(--radius-sm);
    padding-inline: .2rem !important;
}

.main-menu-list .nav-link::after {
    content: "";
    position: absolute;
    left: .2rem;
    right: .2rem;
    bottom: -.4rem;
    height: 2px;
    border-radius: 2px;
    background: #d4a62f;
    transform: scaleX(.55);
    transform-origin: left center;
    opacity: 0;
    transition: transform .2s ease, opacity .2s ease, background-color .2s ease;
}

.menu-link-icon {
    font-size: .62rem;
    color: #907138;
    transition: transform .2s ease, color .2s ease;
}

.menu-link-text {
    display: inline-block;
}

.main-menu-list .nav-link:hover,
.main-menu-list .nav-link.active {
    color: #111;
    background: rgba(242, 183, 5, .08);
    box-shadow: none;
}

.main-menu-list .nav-link:hover::after {
    opacity: .72;
    transform: scaleX(1);
}

.main-menu-list .nav-link:hover .menu-link-icon {
    color: #8a6700;
    transform: translateY(-.5px) scale(1.04);
}

.main-menu-list .nav-link.active::after {
    opacity: 1;
    transform: scaleX(1);
    background: var(--blue-main);
}

.main-menu-list .nav-link.active .menu-link-icon {
    color: #b38300;
}

.main-nav-actions {
    margin-left: .52rem;
    gap: .3rem !important;
}

.lang-dropdown {
    position: relative;
}

.lang-dropdown-toggle {
    border: 1px solid #d9cfab;
    background: #fffaf0;
    color: #1a1a1a;
    font-size: .68rem;
    font-weight: 700;
    padding: .2rem .34rem;
    border-radius: var(--radius-sm);
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    min-width: 62px;
}

.lang-dropdown-toggle:hover,
.lang-dropdown-toggle:focus,
.lang-dropdown-toggle:active,
.lang-dropdown-toggle.show {
    border-color: #c5ac57;
    background: #fff6dc;
    color: #111;
}

.lang-dropdown-toggle::after {
    margin-left: .18rem;
    vertical-align: .12em;
}

.lang-dropdown-menu {
    border: 1px solid #dbc886;
    border-radius: var(--radius-md);
    box-shadow: 0 10px 24px rgba(0, 0, 0, .12);
    min-width: 156px;
    padding: .3rem;
}

.lang-option {
    display: flex;
    align-items: center;
    gap: .38rem;
    border-radius: var(--radius-sm);
    padding: .32rem .4rem;
    color: #202020;
}

.lang-option:hover {
    background: #fff5d8;
}

.lang-option.active {
    background: #f4e0a1;
    color: #111;
    font-weight: 700;
}

.lang-option .lang-option-text {
    flex: 1;
    font-size: .76rem;
}

.lang-option small {
    font-size: .64rem;
    color: #6b5f35;
}

.flag-icon {
    width: 16px;
    height: 12px;
    border-radius: 2px;
    border: 1px solid rgba(0, 0, 0, .14);
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    flex: 0 0 auto;
    display: inline-block;
    vertical-align: middle;
    line-height: 0;
}

.flag-icon::before {
    content: none;
}

.flag-tr {
    background-image: url("../images/flags/tr.svg");
}

.flag-gb {
    background-image: url("../images/flags/gb.svg");
}

.flag-ru {
    background-image: url("../images/flags/ru.svg");
}

.phone-pill {
    display: inline-flex;
    align-items: center;
    gap: .42rem;
    color: #151515;
    text-decoration: none;
    border: 1px solid #ead9ac;
    border-radius: var(--radius-md);
    padding: .2rem .42rem;
    background: #fffcf3;
    box-shadow: 0 4px 10px rgba(17, 17, 17, .04);
}

.phone-icon {
    width: 28px;
    height: 28px;
    border-radius: var(--radius-sm);
    background: var(--accent-red);
    color: #111;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .68rem;
}

.phone-text {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.phone-text small {
    color: #4b5563;
    font-size: .62rem;
}

.phone-text strong {
    font-size: .74rem;
}

.mobile-top-actions {
    background: #f6f3e8;
    border-bottom: 1px solid #e8e1c9;
    padding: .18rem 0;
}

.mobile-top-actions .appointment-btn.mobile {
    padding: .24rem .4rem;
    font-size: .62rem;
}

.lang-dropdown-mobile .lang-dropdown-toggle {
    font-size: .66rem;
    padding: .18rem .32rem;
    min-width: 58px;
}

.lang-dropdown-mobile .lang-dropdown-menu {
    min-width: 158px;
}

.mobile-nav-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(10, 10, 10, .46);
    backdrop-filter: blur(1.6px);
    -webkit-backdrop-filter: blur(1.6px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .18s ease, visibility .18s ease;
    z-index: 1040;
}

.mobile-nav-backdrop.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

body.mobile-nav-open {
    overflow: hidden;
}

.hero-v2 {
    min-height: clamp(520px, 76vh, 760px);
    position: relative;
    overflow: hidden;
    background: #141414;
}

.hero-bg-slider {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.hero-slide-layer {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-image: radial-gradient(circle at 15% 20%, #2a2a2a 0%, #1a1a1a 45%, #101010 100%);
    opacity: 0;
    transform: scale(1.04);
    transition: opacity .8s ease, transform 5.4s ease;
}

.hero-slide-layer::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, .52) 40%, rgba(0, 0, 0, .38) 100%);
}

.hero-slide-layer.is-active {
    opacity: 1;
    transform: scale(1);
}

.hero-slider-dots {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1rem;
    z-index: 5;
    display: inline-flex;
    gap: .4rem;
    padding: .25rem .45rem;
    border-radius: var(--radius-md);
    background: rgba(0, 0, 0, .3);
}

.hero-slider-dots button {
    width: 10px;
    height: 10px;
    border-radius: 2px;
    border: 0;
    padding: 0;
    background: rgba(255, 255, 255, .5);
    transition: width .2s ease, background-color .2s ease;
}

.hero-slider-dots button.is-active {
    width: 22px;
    height: 6px;
    background: var(--blue-main);
}

.hero-overlay {
    min-height: inherit;
    background: linear-gradient(90deg, rgba(0, 0, 0, .28) 0%, rgba(0, 0, 0, .2) 45%, rgba(0, 0, 0, .08) 100%);
    display: flex;
    align-items: center;
    padding: 1.25rem 0;
    position: relative;
    z-index: 1;
}

.hero-copy {
    max-width: 620px;
}

.hero-copy h1 {
    color: #fff;
    font-size: clamp(1.45rem, 2.2vw, 2.2rem);
    line-height: 1.12;
    margin-bottom: .8rem;
    font-weight: 800;
}

.hero-copy p {
    color: #f8fafc;
    font-size: clamp(.9rem, 1vw, 1.03rem);
    max-width: 520px;
    margin-bottom: 1rem;
}

.hero-cta-group {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
}

.hero-btn-primary {
    background: var(--accent-red);
    color: #111;
    border: 0;
    padding: 8px 16px;
    font-size: .9rem;
    font-weight: 700;
}

.hero-btn-primary:hover {
    color: #111;
    filter: brightness(1.06);
}

.hero-link-inline {
    color: #ffd96f;
    text-decoration: none;
    font-weight: 600;
    font-size: .92rem;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
}

.hero-link-inline i {
    font-size: 1.1rem;
}

.hero-form-card {
    background: rgba(19, 19, 19, .82);
    color: #fff;
    border: 1px solid rgba(242, 183, 5, .34);
    border-radius: 10px;
    padding: 1rem .95rem .9rem;
    box-shadow: 0 16px 30px rgba(0, 0, 0, .18);
    max-width: 420px;
    margin-left: auto;
}

.hero-form-wrap {
    display: flex;
    justify-content: flex-end;
}

.hero-form-card h2 {
    font-size: clamp(.98rem, 1.1vw, 1.2rem);
    font-weight: 800;
    margin-bottom: .55rem;
}

.hero-form-card p {
    color: rgba(255, 255, 255, .9);
    font-size: .82rem;
    margin-bottom: .75rem;
}

.hero-form-card .form-control {
    border-radius: 0;
    border-color: rgba(242, 183, 5, .28);
    background: rgba(255, 255, 255, .08);
    color: #fff;
    padding: .48rem .58rem;
    font-size: .89rem;
}

.hero-form-card .form-control::placeholder {
    color: rgba(255, 255, 255, .78);
}

.hero-btn-submit {
    border-radius: 0;
    border: 0;
    background: var(--accent-red);
    color: #111;
    padding: .6rem .78rem;
    font-size: .92rem;
    font-weight: 800;
    letter-spacing: .02em;
}

.hero-btn-submit:hover {
    color: #111;
    filter: brightness(1.05);
}

.home-featured-section,
.home-services-section,
.home-prices-section,
.home-products-section,
.home-references-section,
.home-brands-section {
    background: linear-gradient(180deg, #f9f9f7 0%, #f2f2ef 100%);
    color: #161616;
}

.home-featured-section,
.home-services-section,
.home-prices-section,
.home-products-section,
.home-references-section,
.home-brands-section {
    border-top: 1px solid #e4e1d7;
}

.home-featured-section,
.home-services-section,
.home-prices-section,
.home-products-section,
.home-references-section,
.home-brands-section,
.site-footer,
.copyright-license-bar {
    content-visibility: auto;
    contain-intrinsic-size: 680px;
}

.home-list-section {
    border-top: 1px solid #e4e1d7;
}

.section-cta-btn {
    font-size: .72rem;
    font-weight: 700;
    border-radius: var(--radius-sm);
    padding: .32rem .72rem;
    border: 1px solid #ddd0a6;
    background: #fff;
    text-decoration: none;
}

.section-cta-featured {
    border-color: #d5c79b;
    color: #1a1a1a;
}

.section-cta-services {
    border-color: #d8b45f;
    color: #7a5a09;
}

.section-cta-products {
    border-color: #94ab65;
    color: #4c6528;
}

.section-cta-references {
    border-color: #7d9ac0;
    color: #46658a;
}

.section-cta-prices {
    border-color: #d0b96f;
    color: #7a6220;
}

.section-cta-btn:hover {
    background: #fffaf0;
    text-decoration: none;
}

.entity-slider {
    position: relative;
    overflow: hidden;
}

.entity-slider-track {
    display: flex;
    margin-inline: -.46rem;
    transition: transform .34s ease;
}

.entity-slide {
    flex: 0 0 33.333333%;
    padding-inline: .46rem;
}

.entity-slider-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .42rem;
    margin-top: .62rem;
}

.entity-slider-nav {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    border: 1px solid #d8d1bc;
    background: #fff;
    color: #595959;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: border-color .16s ease, color .16s ease, background-color .16s ease, transform .16s ease;
}

.entity-slider-nav i {
    font-size: .72rem;
    line-height: 1;
}

.entity-slider-nav:hover {
    border-color: #bea968;
    color: #2b2b2b;
    background: #fffaf0;
    transform: translateY(-1px);
}

.entity-slider-dots {
    display: flex;
    align-items: center;
    gap: .28rem;
}

.entity-slider-dots button {
    width: 7px;
    height: 3px;
    border-radius: 2px;
    border: 0;
    background: #cfc4a7;
    padding: 0;
    transition: width .18s ease, background-color .18s ease, opacity .18s ease;
    opacity: .8;
}

.entity-slider-dots button.is-active {
    width: 15px;
    height: 4px;
    background: #927132;
    opacity: 1;
}

.entity-slider[data-entity-type="service"] .entity-slider-nav {
    border-color: #dbc27d;
}

.entity-slider[data-entity-type="service"] .entity-slider-dots button.is-active {
    background: #ab7a06;
}

.entity-slider[data-entity-type="product"] .entity-slider-nav {
    border-color: #adbf86;
}

.entity-slider[data-entity-type="product"] .entity-slider-dots button.is-active {
    background: #6b853c;
}

.entity-slider[data-entity-type="reference"] .entity-slider-nav {
    border-color: #97acc2;
}

.entity-slider[data-entity-type="reference"] .entity-slider-dots button.is-active {
    background: #4f6f96;
}

.entity-slider[data-entity-type="price"] .entity-slider-nav {
    border-color: #d7bf77;
}

.entity-slider[data-entity-type="price"] .entity-slider-dots button.is-active {
    background: #8f7523;
}

.home-featured-section .section-title-line h2,
.home-services-section .section-title-line h2,
.home-prices-section .section-title-line h2,
.home-products-section .section-title-line h2,
.home-references-section .section-title-line h2 {
    color: #161616;
}

.home-services-section .section-title-line h2::after {
    background: #ba8a1a;
}

.home-products-section .section-title-line h2::after {
    background: #708538;
}

.home-prices-section .section-title-line h2::after {
    background: #947b2b;
}

.home-references-section .section-title-line h2::after {
    background: #5a718d;
}

.home-brands-section .section-title-line h2 {
    color: #161616;
}

.home-brands-section .section-title-line h2::after {
    background: #f2b705;
}

.home-featured-section .mix-card {
    background: #fff;
    border-color: #e3dfd2;
}

.home-featured-section .mix-card::before {
    background: #b8922b;
}

.home-featured-section .mix-card-placeholder {
    background: repeating-linear-gradient(135deg, #ece6d6 0, #ece6d6 12px, #f8f5ec 12px, #f8f5ec 24px);
}

.home-services-section .entity-card-v2 {
    background: #fff;
    border-color: #e3dfd2;
}

.home-services-section .entity-card-v2::before {
    background: #b3841a;
}

.home-services-section .entity-card-placeholder {
    background: repeating-linear-gradient(135deg, #ece6d6 0, #ece6d6 12px, #f8f5ec 12px, #f8f5ec 24px);
}

.home-prices-section .price-board {
    display: grid;
    grid-template-columns: minmax(250px, 330px) minmax(0, 1fr);
    gap: .74rem;
    background: linear-gradient(140deg, #111111 0%, #1b1b1b 58%, #111111 100%);
    border: 1px solid #2f2c24;
    border-radius: 12px;
    padding: .82rem;
    box-shadow: 0 16px 30px rgba(0, 0, 0, .2);
}

.home-prices-section .price-board-intro {
    border-radius: 10px;
    border: 1px solid rgba(242, 183, 5, .34);
    background: linear-gradient(180deg, rgba(242, 183, 5, .15) 0%, rgba(242, 183, 5, .08) 100%);
    padding: .8rem .78rem;
    color: #f5f5f5;
}

.home-prices-section .price-board-badge {
    display: inline-flex;
    align-items: center;
    font-size: .64rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    background: rgba(0, 0, 0, .45);
    border: 1px solid rgba(255, 215, 106, .45);
    color: #ffdd82;
    border-radius: 999px;
    padding: .2rem .46rem;
    margin-bottom: .5rem;
}

.home-prices-section .price-board-intro h3 {
    font-size: .96rem;
    line-height: 1.3;
    margin-bottom: .42rem;
    color: #fff;
}

.home-prices-section .price-board-intro p {
    font-size: .79rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, .9);
    margin-bottom: .72rem;
}

.home-prices-section .price-board-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: .44rem;
}

.home-prices-section .price-board-btn-primary,
.home-prices-section .price-board-btn-ghost {
    border-radius: 8px;
    font-size: .74rem;
    font-weight: 700;
    padding: .45rem .62rem;
    text-decoration: none;
}

.home-prices-section .price-board-btn-primary {
    border: 1px solid #f2b705;
    background: #f2b705;
    color: #111;
}

.home-prices-section .price-board-btn-ghost {
    border: 1px solid #d0bf8c;
    background: rgba(255, 255, 255, .08);
    color: #f8f6ee;
}

.home-prices-section .price-board-btn-primary:hover {
    color: #111;
    filter: brightness(1.04);
}

.home-prices-section .price-board-btn-ghost:hover {
    color: #fff;
    border-color: #f2b705;
    background: rgba(242, 183, 5, .16);
}

.home-prices-section .price-board-list {
    display: grid;
    gap: .5rem;
}

.home-prices-section .price-line-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    grid-template-areas: "main amount link";
    align-items: center;
    gap: .58rem;
    border-radius: 9px;
    border: 1px solid #e5dac1;
    border-left: 3px solid #f2b705;
    background: #fffefb;
    padding: .5rem .58rem;
}

.home-prices-section .price-line-main {
    grid-area: main;
}

.home-prices-section .price-line-main h4 {
    margin: 0 0 .2rem;
    font-size: .86rem;
    color: #131313;
}

.home-prices-section .price-line-main p {
    margin: 0;
    font-size: .76rem;
    color: #5d5d5d;
    line-height: 1.45;
}

.home-prices-section .price-line-amount {
    grid-area: amount;
    text-align: right;
    white-space: nowrap;
}

.home-prices-section .price-line-amount strong {
    display: block;
    font-size: .82rem;
    color: #6f5611;
    font-weight: 800;
}

.home-prices-section .price-line-amount span {
    font-size: .7rem;
    color: #7b7b7b;
}

.home-prices-section .price-line-link {
    grid-area: link;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .72rem;
    font-weight: 700;
    color: #6e5718;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.home-prices-section .price-line-link:hover {
    color: #4f3e10;
}

@media (max-width: 991px) {
    .home-prices-section .price-board {
        grid-template-columns: 1fr;
        padding: .74rem;
    }
    .home-prices-section .price-board-intro {
        padding: .72rem .7rem;
    }
    .home-prices-section .price-board-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .home-prices-section .price-line-item {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "main main"
            "amount link";
        align-items: end;
    }
    .home-prices-section .price-line-link {
        justify-self: end;
    }
}

@media (max-width: 575px) {
    .home-prices-section .price-board {
        padding: .66rem;
        border-radius: 10px;
    }
    .home-prices-section .price-board-actions {
        grid-template-columns: 1fr;
    }
    .home-prices-section .price-line-item {
        padding: .48rem .5rem;
    }
    .home-prices-section .price-line-main h4 {
        font-size: .8rem;
    }
    .home-prices-section .price-line-main p {
        font-size: .72rem;
    }
    .home-prices-section .price-line-amount strong {
        font-size: .76rem;
    }
    .home-prices-section .price-line-link {
        font-size: .68rem;
    }
}

.home-products-section .entity-card-v2 {
    background: #fff;
    border-color: #e3dfd2;
}

.home-products-section .entity-card-v2::before {
    background: #6f8b3a;
}

.home-products-section .entity-card-placeholder {
    background: repeating-linear-gradient(135deg, #ece6d6 0, #ece6d6 12px, #f8f5ec 12px, #f8f5ec 24px);
}

.home-references-section .entity-card-v2 {
    background: #fff;
    border-color: #e3dfd2;
}

.home-references-section .entity-card-v2::before {
    background: #597798;
}

.home-references-section .entity-card-placeholder {
    background: repeating-linear-gradient(135deg, #ece6d6 0, #ece6d6 12px, #f8f5ec 12px, #f8f5ec 24px);
}

.home-brands-section .brand-item {
    background: #fff;
    border-color: #e3dfd2;
    color: #434343;
}

.home-brands-section .brand-item span {
    color: #525252;
}

.home-brands-section .brand-item:hover {
    border-color: #d7c48f;
    box-shadow: 0 12px 24px rgba(17, 17, 17, .1);
}

.home-brands-section .alert-light {
    background: #fff;
    border-color: #e0dbcc !important;
    color: #525252;
}

.placeholder-card {
    min-height: 180px;
    background: repeating-linear-gradient(
        135deg,
        #efe8cf 0,
        #efe8cf 12px,
        #f7f2df 12px,
        #f7f2df 24px
    );
    border: 1px solid #dfd2aa;
    color: #76642a;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.mix-card {
    border: 1px solid #e3dfd2;
    background: #fff;
    box-shadow: 0 8px 20px rgba(17, 17, 17, .06);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    position: relative;
}

.mix-card::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 3px;
    background: #cfb06b;
}

.mix-card-link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.mix-card-image,
.mix-card-placeholder {
    width: 100%;
    height: 176px;
    object-fit: cover;
}

.mix-card-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: repeating-linear-gradient(135deg, #e8dfc4 0, #e8dfc4 12px, #f6f0de 12px, #f6f0de 24px);
    color: #735c20;
    font-weight: 700;
    letter-spacing: .08em;
}

.mix-card-content {
    padding: .82rem;
}

.mix-card-badge {
    display: inline-block;
    font-size: .62rem;
    font-weight: 700;
    padding: .16rem .5rem .16rem .58rem;
    margin-bottom: .44rem;
    margin-left: -.82rem;
    border-left: 4px solid #8e6a0f;
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
    background: #f8f1db;
    color: #6a4d09;
}

.mix-card-badge-service {
    border-left-color: #bf8f17;
    background: #fdf4dc;
    color: #6f5208;
}

.mix-card-badge-product {
    border-left-color: #7c9b44;
    background: #ebf4db;
    color: #3f5820;
}

.mix-card-content h3 {
    font-size: .94rem;
    margin-bottom: .42rem;
    color: #111;
}

.mix-card-content p {
    margin: 0;
    color: #4b5563;
    font-size: .84rem;
    line-height: 1.55;
}

.mix-card-action {
    display: inline-block;
    margin-top: .6rem;
    font-size: .72rem;
    font-weight: 700;
    padding: 0;
    border: 0;
    background: transparent;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.mix-card-action-service {
    color: #7a5a09;
}

.mix-card-action-product {
    color: #4c6528;
}

.featured-mobile-slider {
    position: relative;
    overflow: hidden;
}

.featured-mobile-track {
    display: flex;
    transition: transform .32s ease;
}

.featured-mobile-slide {
    flex: 0 0 100%;
}

.featured-mobile-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    margin-top: .62rem;
}

.featured-mobile-nav {
    width: 26px;
    height: 26px;
    border-radius: 6px;
    border: 1px solid #d8d1bc;
    background: #fff;
    color: #595959;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: border-color .16s ease, color .16s ease, background-color .16s ease;
}

.featured-mobile-nav:hover {
    border-color: #bea968;
    color: #2b2b2b;
    background: #fffaf0;
}

.featured-mobile-dots {
    display: flex;
    align-items: center;
    gap: .36rem;
}

.featured-mobile-dots button {
    width: 7px;
    height: 4px;
    border-radius: 2px;
    border: 0;
    background: #cfc4a7;
    padding: 0;
}

.featured-mobile-dots button.is-active {
    width: 15px;
    height: 4px;
    background: #927132;
}

.entity-card-v2 {
    border: 1px solid #e3dfd2;
    background: #fff;
    box-shadow: 0 8px 20px rgba(17, 17, 17, .06);
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
    position: relative;
}

.entity-card-v2::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 3px;
    background: #cfb06b;
}

.entity-card-image,
.entity-card-placeholder {
    width: 100%;
    height: 162px;
    object-fit: cover;
}

.entity-card-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: repeating-linear-gradient(135deg, #ece3c9 0, #ece3c9 12px, #f8f2e2 12px, #f8f2e2 24px);
    color: #786327;
    font-weight: 700;
    letter-spacing: .08em;
}

.entity-card-content {
    padding: .82rem .82rem .88rem;
}

.entity-card-content h3 {
    font-size: .92rem;
    margin-bottom: .44rem;
    color: #141414;
}

.entity-card-content p {
    margin-bottom: .58rem;
    color: #4b5563;
    font-size: .84rem;
    line-height: 1.55;
    min-height: 56px;
}

.entity-card-content a:not(.entity-link-btn) {
    text-decoration: none;
}

.entity-link-btn {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: .22rem;
    font-weight: 700;
    font-size: .76rem;
    line-height: 1;
    padding: 0;
    border: 0;
    background: transparent;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.entity-link-service {
    color: #7a5a09;
}

.entity-link-product {
    color: #4c6528;
}

.entity-link-reference {
    color: #46658a;
}

.entity-link-price {
    color: #7a6220;
}

.entity-link-btn:hover {
    opacity: .86;
}

.entity-price-chip {
    display: inline-flex;
    align-items: center;
    font-size: .75rem;
    font-weight: 700;
    color: #6b5320;
    background: #fff6dc;
    border: 1px solid #e5d39e;
    border-radius: 999px;
    padding: .22rem .56rem;
    margin: .08rem 0 .38rem;
}

.entity-price-card .entity-card-placeholder i {
    font-size: 1.42rem;
    color: #8d6f1e;
}

.brands-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: .7rem;
}

.brand-item {
    min-height: 88px;
    border: 1px solid #e3dfd2;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #685722;
    padding: .55rem;
    box-shadow: 0 8px 20px rgba(17, 17, 17, .05);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.brand-item img {
    max-height: 48px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.brand-item span {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.brand-item:hover {
    color: #111;
    border-color: #d7c48f;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(17, 17, 17, .1);
}

.mix-card:hover,
.entity-card-v2:hover {
    transform: translateY(-2px);
    border-color: #d7c48f;
    box-shadow: 0 12px 24px rgba(17, 17, 17, .1);
}

.section-title-line {
    margin-bottom: 1rem;
}

.section-title-line h2 {
    margin: 0;
    font-size: clamp(1.05rem, 1.3vw, 1.32rem);
    font-weight: 800;
    position: relative;
    padding-bottom: .45rem;
}

.section-title-line h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 44px;
    height: 3px;
    background: var(--blue-main);
    border-radius: 2px;
}

.news-tile-v2 {
    display: block;
    text-decoration: none;
    border: 1px solid #efe3bf;
    background: #fff;
    overflow: hidden;
    transition: .2s ease;
    height: 100%;
}

.news-tile-v2:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, .12);
}

.news-tile-v2 img {
    width: 100%;
    height: 132px;
    object-fit: cover;
}

.news-tile-content {
    padding: .82rem;
}

.news-tile-content h3 {
    margin: 0 0 .45rem;
    color: #171717;
    font-size: .88rem;
    font-weight: 700;
}

.news-tile-content p {
    margin: 0;
    color: var(--muted);
    font-size: .84rem;
}

.price-card-v2 {
    background: #fff;
    border: 1px solid #f2e2af;
    border-left: 4px solid var(--blue-soft);
    padding: .9rem;
    box-shadow: 0 8px 20px rgba(17, 17, 17, .07);
}

.price-card-v2 h3 {
    margin: 0 0 .35rem;
    font-size: .98rem;
}

.price-card-v2 p {
    margin: 0 0 .55rem;
    color: var(--muted);
    font-size: .88rem;
}

.service-card-v2 {
    border: 1px solid #ece5cf;
    border-radius: 0;
    padding: 1rem .85rem;
    background: #fff;
    transition: .2s ease;
}

.service-card-v2:hover {
    box-shadow: 0 12px 26px rgba(0, 0, 0, .08);
}

.service-card-v2 h3 {
    font-size: .93rem;
    margin-bottom: .45rem;
}

.service-card-v2 p {
    color: var(--muted);
    min-height: 48px;
    font-size: .88rem;
    line-height: 1.55;
}

.service-card-v2 a {
    text-decoration: none;
    color: var(--blue-main);
    font-weight: 700;
}

.inner-hero {
    min-height: 118px;
    background-size: cover;
    background-position: center;
    background-image: linear-gradient(135deg, #0f0f0f 0%, #202020 90%);
}

.inner-hero-overlay {
    min-height: inherit;
    background: linear-gradient(90deg, rgba(2, 12, 35, .72) 0%, rgba(2, 12, 35, .54) 100%);
    display: flex;
    align-items: flex-end;
    padding: 1.2rem 0 .65rem;
}

.inner-hero-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: .8rem 1.4rem;
}

.inner-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(1.08rem, 1.4vw, 1.3rem);
    line-height: 1.24;
    max-width: min(70ch, 64%);
    word-break: break-word;
}

.breadcrumb-wrap {
    color: rgba(255, 255, 255, .92);
    display: inline-flex;
    align-items: center;
    font-size: .82rem;
}

.breadcrumb-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    gap: 0;
    white-space: nowrap;
}

.breadcrumb-item {
    display: inline-flex;
    align-items: center;
}

.breadcrumb-item + .breadcrumb-item::before {
    content: "/";
    color: rgba(255, 255, 255, .72);
    margin: 0 .42rem;
}

.breadcrumb-wrap a,
.breadcrumb-wrap span {
    color: rgba(255, 255, 255, .86);
    text-decoration: none;
}

.breadcrumb-wrap .breadcrumb-item.is-current span {
    color: #fff;
    font-weight: 700;
}

.about-text-page {
    background: linear-gradient(180deg, #f8f8f6 0%, #f2f2ef 100%);
}

.about-text-shell {
    border: 1px solid #e0dbc9;
    background: #fff;
    border-radius: 12px;
    padding: clamp(16px, 2.5vw, 28px);
    box-shadow: 0 10px 24px rgba(17, 17, 17, .06);
    max-width: 980px;
    margin: 0 auto;
}

.about-text-shell h2 {
    margin: 0 0 .6rem;
    font-size: clamp(1.18rem, 1.8vw, 1.5rem);
    color: #151515;
}

.about-text-summary {
    margin: 0 0 .85rem;
    color: #3f3f46;
    font-size: .95rem;
    line-height: 1.62;
}

.about-text-content {
    color: #2f2f2f;
    font-size: .92rem;
    line-height: 1.78;
}

.about-text-hero {
    margin: 1rem 0 0;
    border: 1px solid #ddd5bf;
    border-radius: 10px;
    overflow: hidden;
    background: #f6f3ea;
}

.about-text-hero img {
    display: block;
    width: 100%;
    height: clamp(200px, 32vw, 360px);
    object-fit: cover;
}

.about-text-hero-placeholder {
    height: clamp(200px, 32vw, 360px);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .86rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: #7d6630;
    background: repeating-linear-gradient(135deg, #ece5d4 0, #ece5d4 12px, #f8f4ea 12px, #f8f4ea 24px);
}

.about-visuals-shell {
    border: 1px solid #e0dbc9;
    background: #fff;
    border-radius: 12px;
    padding: clamp(14px, 2.2vw, 24px);
    box-shadow: 0 10px 24px rgba(17, 17, 17, .06);
    max-width: 980px;
    margin-inline: auto;
}

.about-visuals-shell h3 {
    margin: 0 0 .72rem;
    font-size: clamp(1rem, 1.5vw, 1.24rem);
    color: #191919;
}

.about-visuals-empty {
    margin: 0 0 .6rem;
    color: #5b6472;
    font-size: .82rem;
}

.about-visuals-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .62rem;
}

.about-visuals-item {
    margin: 0;
    border: 1px solid #ddd5bf;
    border-radius: 10px;
    overflow: hidden;
    background: #f7f3e8;
}

.about-visuals-item img {
    display: block;
    width: 100%;
    height: clamp(130px, 16vw, 180px);
    object-fit: cover;
}

.about-visuals-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: clamp(130px, 16vw, 180px);
    color: #7d6630;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .06em;
    background: repeating-linear-gradient(135deg, #ece5d4 0, #ece5d4 10px, #f8f4ea 10px, #f8f4ea 20px);
}

@media (max-width: 991px) {
    .about-text-shell {
        max-width: 100%;
    }

    .about-text-summary {
        font-size: .88rem;
    }

    .about-text-content {
        font-size: .86rem;
        line-height: 1.68;
    }

    .about-text-hero img {
        height: clamp(190px, 42vw, 300px);
    }

    .about-text-hero-placeholder {
        height: clamp(190px, 42vw, 300px);
    }

    .about-visuals-shell {
        max-width: 100%;
    }

    .about-visuals-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .about-visuals-item img {
        height: 160px;
    }

    .about-visuals-placeholder {
        height: 160px;
    }
}

@media (max-width: 575px) {
    .about-text-shell {
        border-radius: 10px;
        padding: .86rem .82rem;
    }

    .about-text-shell h2 {
        font-size: 1.04rem;
        margin-bottom: .48rem;
    }

    .about-text-summary {
        font-size: .82rem;
        margin-bottom: .62rem;
    }

    .about-text-content {
        font-size: .8rem;
        line-height: 1.58;
    }

    .about-text-hero {
        margin-top: .72rem;
        border-radius: 8px;
    }

    .about-text-hero img {
        height: 180px;
    }

    .about-text-hero-placeholder {
        height: 180px;
    }

    .about-visuals-shell {
        border-radius: 10px;
        padding: .82rem .78rem;
    }

    .about-visuals-shell h3 {
        font-size: .92rem;
        margin-bottom: .55rem;
    }

    .about-visuals-grid {
        gap: .5rem;
    }

    .about-visuals-item {
        border-radius: 8px;
    }

    .about-visuals-item img {
        height: 120px;
    }

    .about-visuals-placeholder {
        height: 120px;
        font-size: .68rem;
    }
}

.about-overview-section {
    background:
        radial-gradient(circle at 7% 6%, rgba(242, 183, 5, .12) 0, rgba(242, 183, 5, 0) 36%),
        linear-gradient(180deg, #f9f9f7 0%, #f2f2ef 100%);
}

.about-overview-shell {
    border: 1px solid #ddd6c4;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 28px rgba(17, 17, 17, .07);
    padding: .95rem;
}

.about-overview-card,
.about-featured-content {
    padding: .35rem .35rem .2rem;
}

.about-kicker {
    display: inline-flex;
    align-items: center;
    font-size: .68rem;
    letter-spacing: .06em;
    font-weight: 700;
    color: #8d6a10;
    text-transform: uppercase;
    margin-bottom: .42rem;
}

.about-overview-card h2,
.about-featured-content h2 {
    margin: 0 0 .56rem;
    font-size: clamp(1.2rem, 1.95vw, 1.68rem);
    line-height: 1.24;
    color: #151515;
}

.about-overview-summary,
.about-featured-summary {
    margin: 0 0 .65rem;
    color: #364152;
    font-size: .95rem;
    line-height: 1.58;
}

.about-richtext {
    color: #2f2f2f;
    font-size: .9rem;
    line-height: 1.72;
}

.about-overview-actions {
    margin-top: .88rem;
    display: flex;
    flex-wrap: wrap;
    gap: .45rem;
}

.about-btn-primary,
.about-btn-outline {
    border-radius: 9px;
    font-size: .82rem;
    padding: .45rem .84rem;
    font-weight: 700;
}

.about-btn-primary {
    background: #f2b705;
    border: 1px solid #d39a00;
    color: #111;
}

.about-btn-primary:hover {
    background: #ffcb33;
    color: #111;
}

.about-btn-outline {
    border: 1px solid #dac57d;
    color: #221d0f;
    background: #fff9e8;
}

.about-btn-outline:hover {
    background: #fff2c8;
    color: #111;
}

.about-overview-media,
.about-featured-media,
.about-grid-media {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #d9d1bd;
    background: #f4f1e8;
}

.about-overview-media,
.about-overview-media img {
    min-height: 320px;
    height: 100%;
    width: 100%;
    object-fit: cover;
    display: block;
}

.about-featured-media,
.about-featured-media img {
    min-height: 280px;
    height: 100%;
    width: 100%;
    object-fit: cover;
    display: block;
}

.about-image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #7d6630;
    letter-spacing: .08em;
    background: repeating-linear-gradient(135deg, #ece5d4 0, #ece5d4 12px, #f8f4ea 12px, #f8f4ea 24px);
}

.about-featured-card {
    border: 1px solid #dad2bf;
    border-radius: 14px;
    background: linear-gradient(165deg, #111111 0%, #1d1d1d 100%);
    color: #f4f4f4;
    overflow: hidden;
    box-shadow: 0 18px 30px rgba(17, 17, 17, .14);
}

.about-featured-content {
    height: 100%;
    padding: 1rem 1rem .94rem;
    display: flex;
    flex-direction: column;
}

.about-featured-content .about-kicker,
.about-featured-content .about-featured-label {
    color: #f3c33f;
}

.about-featured-content h2 {
    color: #fff;
}

.about-featured-summary,
.about-featured-content .about-richtext {
    color: rgba(255, 255, 255, .9);
}

.about-featured-label {
    margin: 0 0 .36rem;
    font-size: .68rem;
    letter-spacing: .07em;
    text-transform: uppercase;
    font-weight: 700;
}

.about-featured-link {
    margin-top: .76rem;
    color: #ffd15f;
    text-decoration: none;
    font-weight: 700;
    font-size: .84rem;
}

.about-featured-link:hover {
    color: #ffe59e;
}

.about-grid-section {
    background: #f3f3f0;
}

.about-grid-card {
    background: #fff;
    border: 1px solid #ddd6c3;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 10px 22px rgba(17, 17, 17, .06);
}

.about-grid-media,
.about-grid-media img {
    width: 100%;
    height: 186px;
    object-fit: cover;
    display: block;
}

.about-grid-body {
    padding: .82rem .84rem .86rem;
}

.about-grid-body h3 {
    margin: 0 0 .42rem;
    font-size: 1rem;
    line-height: 1.3;
}

.about-grid-summary {
    margin: 0 0 .4rem;
    font-size: .86rem;
    color: #3a4758;
    line-height: 1.54;
}

.about-grid-text {
    margin: 0;
    font-size: .82rem;
    color: #5b6676;
    line-height: 1.58;
}

.about-grid-link {
    margin-top: .58rem;
    display: inline-flex;
    align-items: center;
    gap: .2rem;
    color: #8e6910;
    text-decoration: none;
    font-size: .78rem;
    font-weight: 700;
}

.about-grid-link:hover {
    color: #6f510c;
}

.about-gallery-section {
    background: linear-gradient(180deg, #f0f0ec 0%, #ecece8 100%);
    border-top: 1px solid #dfdfd8;
}

.about-gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
}

.about-gallery-item {
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #d2cab5;
    margin: 0;
    background: #fff;
}

.about-gallery-item img {
    display: block;
    width: 100%;
    height: 170px;
    object-fit: cover;
}

.about-bottom-actions {
    margin-top: .95rem;
    display: flex;
    justify-content: center;
}

.services-hub-section {
    background:
        radial-gradient(circle at 8% 0%, rgba(242, 183, 5, .09) 0, rgba(242, 183, 5, 0) 38%),
        linear-gradient(180deg, #f8f8f6 0%, #f2f2ef 100%);
    border-top: 1px solid #e4e1d7;
}

.services-empty-card {
    border: 1px solid #e2ddcf;
    background: #fff;
    border-radius: 12px;
    padding: 1.35rem 1.15rem;
    box-shadow: 0 10px 24px rgba(17, 17, 17, .06);
}

.services-empty-card h2 {
    margin: 0 0 .35rem;
    font-size: 1.24rem;
}

.services-empty-card p {
    margin: 0 0 .85rem;
    color: #5b6472;
}

.services-focus-panel {
    --focus-showcase-height: 460px;
    border: 1px solid #ddd6c4;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 16px 30px rgba(17, 17, 17, .08);
}

.services-focus-media,
.services-focus-media img,
.services-focus-placeholder {
    height: var(--focus-showcase-height);
    min-height: var(--focus-showcase-height);
    width: 100%;
    object-fit: cover;
    display: block;
}

.services-focus-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: repeating-linear-gradient(135deg, #ece5d4 0, #ece5d4 12px, #f8f4ea 12px, #f8f4ea 24px);
    color: #6f5930;
    font-weight: 700;
    letter-spacing: .08em;
}

.services-focus-content {
    min-height: var(--focus-showcase-height);
    height: var(--focus-showcase-height);
    padding: 1.2rem 1.12rem 1.08rem;
    background: linear-gradient(170deg, #111111 0%, #1b1b1b 100%);
    color: #f3f3f3;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.services-focus-kicker {
    display: inline-block;
    color: #f2b705;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: .42rem;
}

.services-focus-content h2 {
    margin: 0 0 .6rem;
    color: #fff;
    font-size: clamp(1.12rem, 1.56vw, 1.44rem);
    line-height: 1.24;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.services-focus-content p {
    margin: 0 0 .85rem;
    color: rgba(255, 255, 255, .84);
    line-height: 1.62;
    font-size: .9rem;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.services-focus-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .44rem;
    margin-top: auto;
    margin-bottom: .8rem;
}

.services-focus-meta span {
    display: inline-flex;
    align-items: center;
    gap: .28rem;
    font-size: .72rem;
    border: 1px solid rgba(242, 183, 5, .42);
    background: rgba(242, 183, 5, .08);
    color: #f8e0a0;
    border-radius: 6px;
    padding: .18rem .44rem;
}

.services-focus-actions {
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.services-focus-content .reference-focus-meta-line,
.services-focus-content .product-focus-meta-line {
    color: rgba(255, 255, 255, .75);
}

.services-focus-content .reference-focus-meta-line strong,
.services-focus-content .product-focus-meta-line strong {
    color: #f2b705;
}

.services-primary-btn {
    border: 1px solid #d8a400;
    background: #f2b705;
    color: #151515;
    font-size: .78rem;
    font-weight: 700;
    border-radius: 7px;
    padding: .45rem .75rem;
    text-decoration: none;
}

.services-primary-btn:hover {
    color: #111;
    filter: brightness(1.05);
}

.services-outline-btn {
    border: 1px solid rgba(242, 183, 5, .46);
    background: transparent;
    color: #f5d68a;
    font-size: .78rem;
    font-weight: 700;
    border-radius: 7px;
    padding: .45rem .75rem;
    text-decoration: none;
}

.services-outline-btn:hover {
    color: #ffe4a1;
    border-color: rgba(242, 183, 5, .82);
    background: rgba(242, 183, 5, .08);
}

.services-longform-card,
.services-catalog-card,
.services-side-panel {
    border: 1px solid #e1dccd;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(17, 17, 17, .06);
}

.services-longform-card,
.services-catalog-card {
    padding: 1rem .95rem;
}

.services-side-panel {
    padding: .95rem .9rem;
    position: sticky;
    top: 88px;
}

.services-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-bottom: .72rem;
}

.services-card-header h3 {
    margin: 0;
    font-size: 1rem;
    font-weight: 800;
    color: #161616;
}

.services-card-link,
.services-call-inline {
    color: #8e6b1b;
    text-decoration: none;
    font-weight: 700;
    font-size: .76rem;
}

.services-call-inline i {
    margin-right: .24rem;
}

.services-richtext {
    color: #2f3440;
    line-height: 1.78;
    font-size: .92rem;
}

.service-premium-card {
    border: 1px solid #e4decb;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    height: 100%;
    box-shadow: 0 8px 18px rgba(17, 17, 17, .05);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.service-premium-card.is-active {
    border-color: #d0a13a;
    box-shadow: 0 12px 24px rgba(17, 17, 17, .1);
}

.service-premium-card:hover {
    transform: translateY(-2px);
    border-color: #d0a13a;
    box-shadow: 0 12px 24px rgba(17, 17, 17, .1);
}

.service-premium-image,
.service-premium-placeholder {
    width: 100%;
    height: 152px;
    object-fit: cover;
}

.service-premium-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    background: repeating-linear-gradient(135deg, #ece6d6 0, #ece6d6 12px, #f8f5ec 12px, #f8f5ec 24px);
    color: #6c5628;
    font-weight: 700;
    letter-spacing: .08em;
}

.service-premium-body {
    padding: .76rem .78rem .82rem;
}

.service-premium-body h4 {
    margin: 0 0 .38rem;
    font-size: .92rem;
    color: #171717;
}

.service-premium-body p {
    margin: 0 0 .44rem;
    color: #586171;
    font-size: .84rem;
    line-height: 1.58;
}

.service-premium-link {
    color: #88651a;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-size: .76rem;
    font-weight: 700;
}

.services-side-panel h3 {
    margin: 0 0 .4rem;
    font-size: 1rem;
    font-weight: 800;
}

.services-side-desc {
    color: #5a6577;
    font-size: .82rem;
    margin-bottom: .7rem;
}

.services-side-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.services-side-list li {
    margin-bottom: .44rem;
}

.services-side-list li a {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) 16px;
    align-items: center;
    gap: .42rem;
    border: 1px solid #ebe4cf;
    border-radius: 8px;
    padding: .42rem .46rem;
    text-decoration: none;
    color: #1f2937;
    background: #fff;
    transition: border-color .15s ease, background-color .15s ease;
}

.services-side-list li a:hover {
    border-color: #d6b267;
    background: #fffaee;
}

.services-side-list li.is-active a {
    border-color: #d2a436;
    background: #fff3cf;
}

.services-side-index {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #dfc583;
    border-radius: 6px;
    background: #fff;
    color: #8e6c23;
    font-size: .66rem;
    font-weight: 700;
    padding: .14rem 0;
}

.services-side-title {
    font-size: .82rem;
    font-weight: 600;
    line-height: 1.35;
}

.services-side-list li a i {
    font-size: .72rem;
    color: #8f7a46;
}

.services-side-actions {
    margin-top: .8rem;
    display: grid;
    gap: .42rem;
}

.services-side-actions .services-outline-btn {
    color: #86631a;
    border-color: #ddc48d;
    background: #fffaf0;
}

.services-side-actions .services-outline-btn:hover {
    color: #694d10;
    border-color: #cda450;
    background: #fff4d8;
}

.card-img-top {
    height: 176px;
    object-fit: cover;
}

.site-footer {
    background: linear-gradient(180deg, #121212 0%, #0a0a0a 100%);
    font-size: .9rem;
    color: #ececec;
    border-top: 1px solid #2a2a2a;
}

.site-footer .footer-shell {
    padding: 1.4rem 0 1rem;
}

.site-footer .footer-branding {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .42rem;
}

.site-footer .footer-logo-link {
    width: auto;
    height: auto;
    border: 0;
    background: transparent;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    overflow: visible;
    flex: 0 0 auto;
}

.site-footer .footer-logo {
    width: auto;
    height: 54px;
    max-width: 240px;
    object-fit: contain;
}

.site-footer .footer-brand {
    font-size: 1.15rem;
    font-weight: 800;
    color: #fff;
}

.site-footer .footer-desc {
    color: rgba(255, 255, 255, .76);
    font-size: .84rem;
    max-width: 560px;
    line-height: 1.6;
}

.site-footer .footer-title {
    font-size: .84rem;
    font-weight: 700;
    letter-spacing: .02em;
    color: #ffe08a;
    margin-bottom: .56rem;
}

.site-footer .footer-menu li + li {
    margin-top: .24rem;
}

.site-footer .footer-social a {
    width: 30px;
    height: 30px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, .22);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    transition: background-color .16s ease, border-color .16s ease, transform .16s ease;
}

.site-footer .footer-social a:hover {
    background: rgba(242, 183, 5, .18);
    border-color: rgba(242, 183, 5, .48);
    transform: translateY(-1px);
}

.site-footer .footer-link {
    color: rgba(255, 255, 255, .86);
    text-decoration: none;
    font-size: .82rem;
    line-height: 1.55;
    transition: color .16s ease;
}

.site-footer .footer-link:hover {
    color: #ffe08a;
}

.site-footer .footer-contact-menu .footer-link {
    display: inline-flex;
    align-items: flex-start;
    gap: .42rem;
}

.site-footer .footer-icon-link i {
    color: #d9be72;
    font-size: .84rem;
    margin-top: .1rem;
}

.site-footer .footer-icon-text {
    display: inline-flex;
    align-items: flex-start;
    gap: .42rem;
    color: rgba(255, 255, 255, .86);
    font-size: .82rem;
    line-height: 1.55;
}

.site-footer .footer-bottom {
    margin-top: 1rem;
    padding-top: .82rem;
    border-top: 1px solid rgba(255, 255, 255, .14);
    color: rgba(255, 255, 255, .7);
}

.site-footer .footer-muted {
    color: rgba(255, 255, 255, .56);
}

@media (max-width: 767px) {
    .site-footer .footer-shell {
        padding: 1.15rem 0 .8rem;
    }
    .site-footer .footer-branding {
        gap: .56rem;
    }
    .site-footer .footer-logo-link {
        width: auto;
        height: auto;
    }
    .site-footer .footer-logo {
        height: 44px;
        max-width: 190px;
    }
    .site-footer .footer-brand {
        font-size: 1.02rem;
    }
    .site-footer .footer-title {
        margin-bottom: .46rem;
    }
    .site-footer .footer-bottom {
        margin-top: .82rem;
        padding-top: .72rem;
    }
}

.copyright-license-bar {
    border-top: 1px solid rgba(242, 183, 5, 0.28);
    background:
        radial-gradient(circle at 12% 0%, rgba(242, 183, 5, 0.14) 0%, rgba(242, 183, 5, 0) 40%),
        linear-gradient(180deg, rgba(16, 16, 16, 0.96), rgba(9, 9, 9, 0.99));
}

.copyright-license-inner {
    min-height: 52px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 0.72rem;
    padding: 0.52rem 0;
}

.copyright-license-link {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    color: #f6edd2;
    letter-spacing: 0.01em;
    text-decoration: none;
    justify-self: start;
}

.copyright-license-center {
    margin: 0;
    justify-self: center;
    color: #dfc998;
    font-size: 0.74rem;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
}

.copyright-license-mark-wrap {
    width: 27px;
    height: 27px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(26, 26, 26, 0.96);
    border: 1px solid rgba(242, 183, 5, 0.52);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.34);
}

.copyright-license-mark {
    width: 22px;
    height: 22px;
}

.copyright-license-mark path:nth-child(1),
.copyright-license-mark path:nth-child(3) {
    stroke: #f2b705 !important;
}

.copyright-license-mark path:nth-child(2) {
    stroke: #ffd56a !important;
}

.copyright-license-brand {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.04rem;
}

.copyright-license-line {
    display: inline-flex;
    align-items: center;
    gap: 0.16rem;
    line-height: 1;
}

.copyright-net {
    position: relative;
    display: inline-block;
    font-family: var(--header-font);
    font-size: 0.92rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #f8ecd0;
    text-transform: uppercase;
    animation: netGlow 3.2s ease-in-out infinite;
}

.copyright-net::before {
    content: '';
    position: absolute;
    top: 2px;
    left: -6px;
    width: 56%;
    height: calc(100% - 4px);
    background: linear-gradient(110deg, transparent 0%, rgba(255, 222, 143, 0.76) 50%, transparent 100%);
    transform: translateX(-128%) skewX(-18deg);
    animation: netSweep 3.6s ease-in-out infinite;
    pointer-events: none;
}

.copyright-net::after {
    content: attr(data-mirror);
    position: absolute;
    left: 0;
    top: calc(100% + 1px);
    transform: scaleY(-1);
    transform-origin: top center;
    color: rgba(242, 212, 128, 0.3);
    line-height: 1;
    -webkit-mask-image: linear-gradient(to bottom, rgba(255, 225, 156, 0.56), transparent 70%);
    mask-image: linear-gradient(to bottom, rgba(255, 225, 156, 0.56), transparent 70%);
    animation: netMirrorPulse 2.8s ease-in-out infinite;
    pointer-events: none;
}

.copyright-php {
    font-family: var(--header-font);
    font-size: 0.92rem;
    font-weight: 800;
    color: #f2b705;
    text-transform: none;
}

.copyright-license-sub {
    font-size: 0.56rem;
    font-weight: 300;
    letter-spacing: 0.08em;
    color: rgba(229, 210, 159, 0.82);
    text-transform: uppercase;
}

.copyright-license-text {
    margin: 0;
    color: #d6c49a;
    font-size: 0.74rem;
    text-align: right;
    line-height: 1.2;
    justify-self: end;
    white-space: nowrap;
}

.copyright-license-text a {
    color: #f2b705;
    font-weight: 800;
    text-decoration: none;
}

@keyframes netSweep {
    0% { transform: translateX(-128%) skewX(-18deg); opacity: 0; }
    18% { opacity: 0.9; }
    42% { opacity: 0.2; }
    100% { transform: translateX(220%) skewX(-18deg); opacity: 0; }
}

@keyframes netMirrorPulse {
    0%, 100% { opacity: 0.26; }
    50% { opacity: 0.42; }
}

@keyframes netGlow {
    0%, 100% { text-shadow: 0 0 0 rgba(255, 214, 123, 0); }
    50% { text-shadow: 0 0 10px rgba(242, 183, 5, 0.3); }
}

@media (max-width: 767px) {
    .copyright-license-inner {
        min-height: 48px;
        gap: 0.56rem;
    }

    .copyright-license-mark-wrap {
        width: 24px;
        height: 24px;
    }

    .copyright-license-mark {
        width: 19px;
        height: 19px;
    }

    .copyright-net,
    .copyright-php {
        font-size: 0.84rem;
    }

    .copyright-license-sub {
        font-size: 0.52rem;
    }

    .copyright-license-center {
        font-size: 0.68rem;
    }
}

@media (max-width: 575px) {
    .copyright-license-inner {
        grid-template-columns: 1fr;
        gap: 0.3rem;
        justify-items: center;
        padding: 0.58rem 0 0.72rem;
    }

    .copyright-license-link {
        min-width: 0;
        max-width: 100%;
        justify-self: center;
    }

    .copyright-license-center {
        justify-self: center;
        text-align: center;
        white-space: normal;
        font-size: 0.64rem;
    }

    .copyright-license-text {
        margin-left: 0;
        text-align: center;
        font-size: 0.66rem;
        white-space: normal;
        justify-self: center;
    }

    .copyright-license-sub {
        font-size: 0.48rem;
    }
}

.service-detail-page {
    background: linear-gradient(180deg, #f8f7f3 0%, #f4f3ef 100%);
}

.service-detail-shell {
    border: 1px solid #e4ddca;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 16px 30px rgba(17, 17, 17, .06);
    padding: 1rem;
}

.service-detail-main {
    background: #fff;
    border: 1px solid #ece4cf;
    border-radius: 12px;
    overflow: hidden;
}

.service-detail-media,
.service-detail-media img,
.service-detail-placeholder {
    width: 100%;
    height: 100%;
}

.service-detail-media {
    background: #f3ecda;
    height: clamp(210px, 26vw, 300px);
    overflow: hidden;
}

.service-detail-media img {
    display: block;
    object-fit: cover;
}

.service-detail-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    letter-spacing: .08em;
    color: #7f6832;
    background: repeating-linear-gradient(135deg, #efe7d0 0, #efe7d0 12px, #f8f3e4 12px, #f8f3e4 24px);
}

.service-detail-content {
    padding: 1rem 1rem 1.1rem;
}

.service-detail-content h1 {
    font-size: clamp(1.2rem, 1.8vw, 1.55rem);
    margin-bottom: .66rem;
}

.service-detail-summary {
    margin-bottom: .9rem;
    color: #2b2b2b;
    font-size: .91rem;
}

.service-detail-summary span {
    color: #7a5a09;
    font-weight: 700;
    margin-right: .18rem;
}

.reference-focus-meta-line {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    margin-bottom: .64rem;
    font-size: .8rem;
    color: #4b5563;
}

.reference-focus-meta-line strong {
    color: #7a5a09;
    font-weight: 700;
}

.product-focus-meta-line {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    margin-bottom: .64rem;
    font-size: .8rem;
    color: #4b5563;
}

.product-focus-meta-line strong {
    color: #7a5a09;
    font-weight: 700;
}

.reference-project-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .34rem .62rem;
    margin-bottom: .82rem;
}

.reference-project-meta span {
    display: inline-flex;
    align-items: center;
    gap: .24rem;
    font-size: .78rem;
    color: #4b5563;
    background: #fbf6e7;
    border: 1px solid #eadfbe;
    border-radius: 999px;
    padding: .14rem .44rem;
}

.reference-project-meta span i {
    color: #9e7415;
    font-size: .7rem;
}

.reference-info-line {
    margin: 0 0 .22rem;
    font-size: .8rem;
    color: #3f3f46;
}

.reference-info-line:last-child {
    margin-bottom: 0;
}

.reference-info-line span {
    color: #7a5a09;
    font-weight: 600;
}

.reference-gallery-block {
    margin-top: .92rem;
}

.reference-gallery-block h2 {
    font-size: .98rem;
    margin-bottom: .5rem;
}

.reference-gallery-empty {
    margin: 0;
    color: #4b5563;
    font-size: .84rem;
}

.reference-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .42rem;
}

.reference-gallery-item {
    display: block;
    border: 1px solid #e5dbbe;
    border-radius: 9px;
    overflow: hidden;
    background: #fff;
    width: 100%;
    padding: 0;
    cursor: zoom-in;
}

.reference-gallery-item img {
    width: 100%;
    height: 110px;
    object-fit: cover;
    display: block;
}

.reference-gallery-modal .modal-content {
    background: #111;
    color: #fff;
}

.reference-gallery-modal .btn-close {
    filter: invert(1);
}

.reference-gallery-modal-img {
    width: 100%;
    max-height: 72vh;
    object-fit: contain;
    display: block;
    border-radius: 6px;
    background: #0a0a0a;
}

.service-detail-richtext h2 {
    font-size: .98rem;
    margin-bottom: .48rem;
}

.service-detail-richtext p {
    margin: 0;
    color: #3f3f46;
    font-size: .89rem;
    line-height: 1.7;
}

.service-detail-side {
    display: flex;
    flex-direction: column;
    gap: .82rem;
}

.service-detail-other,
.service-detail-cta,
.service-detail-related,
.service-detail-highlights,
.service-detail-regions {
    border: 1px solid #eadfbe;
    border-radius: 12px;
    background: #fffdf8;
}

.service-detail-other {
    padding: .78rem .84rem;
}

.service-detail-other h3 {
    font-size: .85rem;
    margin-bottom: .42rem;
}

.service-detail-other-empty {
    margin: 0;
    color: #4b5563;
    font-size: .82rem;
}

.service-other-slider .entity-slider-track {
    margin-inline: -.28rem;
}

.service-other-slider .entity-slide {
    padding-inline: .28rem;
    display: flex;
}

.service-mini-card {
    border: 1px solid #eadfbe;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-inline: 0;
}

.service-mini-image,
.service-mini-placeholder {
    width: 100%;
    height: 118px;
}

.service-mini-image {
    object-fit: cover;
    display: block;
}

.service-mini-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .08em;
    color: #7f6832;
    background: repeating-linear-gradient(135deg, #efe7d0 0, #efe7d0 12px, #f8f3e4 12px, #f8f3e4 24px);
}

.service-mini-body {
    padding: .58rem .62rem .64rem;
}

.service-mini-body h4 {
    font-size: .78rem;
    margin-bottom: .3rem;
    line-height: 1.35;
}

.service-mini-body p {
    margin-bottom: .42rem;
    color: #4b5563;
    font-size: .74rem;
    line-height: 1.45;
    min-height: 32px;
}

.service-mini-body a {
    text-decoration: none;
    color: #7a5a09;
    font-weight: 700;
    font-size: .72rem;
}

.service-mini-body a:hover {
    color: #a2760f;
}

.service-detail-cta {
    background: linear-gradient(180deg, #fffdf7 0%, #fbf5e6 100%);
    padding: .9rem .95rem;
}

.service-detail-cta h2 {
    font-size: 1rem;
    margin-bottom: .4rem;
}

.service-detail-cta p {
    margin-bottom: .74rem;
    color: #4a4a4a;
    font-size: .85rem;
}

.service-detail-cta-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .52rem;
}

.service-detail-btn-primary,
.service-detail-btn-outline {
    border-radius: 9px;
    font-size: .78rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .34rem;
    padding: .44rem .55rem;
}

.service-detail-btn-primary {
    background: #f2b705;
    color: #101010;
    border: 1px solid #d7a008;
}

.service-detail-btn-primary:hover {
    color: #101010;
    filter: brightness(1.04);
}

.service-detail-btn-outline {
    color: #161616;
    border: 1px solid #d4bf84;
    background: #fff;
}

.service-detail-btn-outline:hover {
    color: #161616;
    background: #fff8e3;
}

.service-detail-related {
    padding: .78rem .84rem;
}

.service-detail-related h3 {
    font-size: .85rem;
    margin-bottom: .35rem;
}

.service-detail-related a {
    text-decoration: none;
    color: #1f2937;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: .18rem;
}

.service-detail-related a:hover {
    color: #7a5a09;
}

.service-detail-highlights {
    padding: .78rem .84rem;
}

.service-detail-regions {
    padding: .78rem .84rem;
}

.service-detail-highlights h3 {
    font-size: .85rem;
    margin-bottom: .54rem;
    padding-bottom: .38rem;
    border-bottom: 1px solid #eadfbe;
}

.service-detail-regions h3 {
    font-size: .85rem;
    margin-bottom: .54rem;
    padding-bottom: .38rem;
    border-bottom: 1px solid #eadfbe;
}

.service-detail-highlights ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .38rem;
}

.service-detail-highlights li {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    align-items: start;
    gap: .34rem;
}

.service-detail-highlights li i {
    color: #b48310;
    font-size: .8rem;
    margin-top: .08rem;
}

.service-detail-highlights li span,
.service-detail-highlights-empty {
    color: #3f3f46;
    font-size: .83rem;
    line-height: 1.5;
}

.service-region-tags {
    display: flex;
    flex-wrap: wrap;
    gap: .34rem .72rem;
}

.service-region-tag {
    display: inline-flex;
    align-items: center;
    gap: .24rem;
    border: 0;
    background: transparent;
    border-radius: 0;
    padding: 0;
    font-size: .74rem;
    color: #3f3f46;
    font-weight: 600;
}

.service-region-tag i {
    font-size: .7rem;
    color: #d72626;
}

.product-spec-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .4rem;
}

.product-spec-list li {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    align-items: start;
    gap: .34rem;
    border-bottom: 1px dashed #e7dcb8;
    padding-bottom: .32rem;
}

.product-spec-list li i {
    color: #b48310;
    font-size: .8rem;
    margin-top: .08rem;
}

.product-spec-list li span {
    color: #4b5563;
    font-size: .83rem;
    line-height: 1.5;
}

.contact-page .contact-shell {
    border: 1px solid #e5dcc6;
    border-radius: 14px;
    background: linear-gradient(180deg, #fbf8ef 0%, #f7f2e4 100%);
    padding: 1rem;
    box-shadow: 0 10px 24px rgba(17, 17, 17, .06);
}

.contact-side-card,
.contact-form-card,
.contact-map-card {
    border: 1px solid #e5dcc6;
    border-radius: 12px;
    background: #fff;
}

.contact-side-card {
    padding: 1rem .95rem;
    height: 100%;
}

.contact-side-card h2 {
    font-size: 1.2rem;
    margin: 0 0 .46rem;
}

.contact-side-lead {
    color: #4b5563;
    font-size: .87rem;
    line-height: 1.6;
    margin-bottom: .8rem;
}

.contact-side-block + .contact-side-block {
    margin-top: .72rem;
}

.contact-side-block h3 {
    font-size: .86rem;
    margin: 0 0 .38rem;
    color: #1f2937;
}

.contact-info-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: .36rem;
}

.contact-info-list li {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    gap: .42rem;
    color: #3f3f46;
    font-size: .82rem;
    line-height: 1.55;
}

.contact-info-list i {
    color: #b48310;
    font-size: .8rem;
    margin-top: .13rem;
}

.contact-social-row {
    display: flex;
    flex-wrap: wrap;
    gap: .46rem;
}

.contact-social-row a {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 1px solid #e2d0a2;
    color: #6b4d0f;
    background: #fffaf0;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.contact-social-row a:hover {
    color: #5a420d;
    border-color: #d2aa52;
    background: #ffefcc;
}

.contact-guide-text {
    margin: 0;
    color: #4b5563;
    font-size: .82rem;
    line-height: 1.6;
}

.contact-form-card {
    padding: 1rem .95rem;
}

.contact-form-head h2 {
    margin: 0 0 .28rem;
    font-size: 1.02rem;
}

.contact-form-head p {
    margin: 0 0 .74rem;
    color: #5b6472;
    font-size: .84rem;
}

.contact-form-card .form-label {
    font-size: .79rem;
    font-weight: 700;
    color: #2b2f38;
}

.contact-form-card .form-control,
.contact-form-card .form-select {
    border-color: #e2d9bf;
    font-size: .84rem;
}

.contact-form-card .form-control:focus,
.contact-form-card .form-select:focus {
    border-color: #d1ab4d;
    box-shadow: 0 0 0 .2rem rgba(209, 171, 77, .16);
}

.contact-submit-btn {
    border: 1px solid #d8a400;
    background: #f2b705;
    color: #151515;
    font-weight: 700;
    border-radius: 8px;
    font-size: .8rem;
    padding: .48rem .82rem;
}

.contact-submit-btn:hover {
    color: #111;
    filter: brightness(1.04);
}

.contact-map-card {
    padding: .8rem .85rem .9rem;
}

.contact-map-card h3 {
    margin: 0 0 .52rem;
    font-size: .88rem;
}

.contact-map-empty {
    margin: 0;
    color: #6b7280;
    font-size: .82rem;
}

.contact-map-frame {
    border: 1px solid #eadfbe;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

.contact-map-frame iframe {
    width: 100%;
    height: 320px;
    border: 0;
    display: block;
}

@media (max-width: 991px) {
    .service-detail-shell {
        padding: .8rem;
        border-radius: 12px;
    }
    .service-detail-media,
    .service-detail-media img,
    .service-detail-placeholder {
        height: 100%;
    }
    .service-detail-media {
        height: clamp(190px, 48vw, 230px);
    }
    .service-detail-content {
        padding: .86rem .84rem .9rem;
    }
    .service-detail-other {
        order: 1;
    }
    .service-detail-cta-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .service-detail-cta-actions .btn,
    .services-side-actions .btn {
        width: auto !important;
        min-width: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .services-side-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .service-detail-cta {
        order: 2;
    }
    .service-detail-highlights {
        order: 3;
    }
    .service-detail-regions {
        order: 4;
    }
    .service-detail-related {
        order: 5;
    }
    .service-other-slider .entity-slider-controls {
        margin-top: .45rem;
    }
    .contact-page .contact-shell {
        padding: .84rem;
    }
    .contact-side-card,
    .contact-form-card,
    .contact-map-card {
        border-radius: 10px;
    }
    .contact-map-frame iframe {
        height: 260px;
    }
}

@media (max-width: 575px) {
    .service-detail-shell {
        padding: .66rem;
        border-radius: 10px;
    }
    .service-detail-main,
    .service-detail-cta,
    .service-detail-related,
    .service-detail-highlights,
    .service-detail-regions {
        border-radius: 10px;
    }
    .service-detail-media,
    .service-detail-media img,
    .service-detail-placeholder {
        height: 100%;
    }
    .service-detail-media {
        height: 180px;
    }
    .service-detail-content h1 {
        font-size: 1.06rem;
    }
    .service-detail-summary {
        font-size: .84rem;
    }
    .reference-project-meta span {
        font-size: .72rem;
        padding: .12rem .36rem;
    }
    .reference-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .34rem;
    }
    .reference-gallery-item img {
        height: 92px;
    }
    .service-detail-richtext h2 {
        font-size: .9rem;
    }
    .service-detail-richtext p {
        font-size: .82rem;
    }
    .service-mini-image,
    .service-mini-placeholder {
        height: 108px;
    }
    .service-mini-body h4 {
        font-size: .74rem;
    }
    .service-mini-body p {
        font-size: .71rem;
    }
    .service-mini-body a {
        font-size: .68rem;
    }
    .service-mini-card {
        margin-inline: .16rem;
    }
    .service-region-tag {
        font-size: .68rem;
        padding: 0;
    }
    .service-detail-cta-actions .btn,
    .services-side-actions .btn {
        font-size: .68rem;
        padding-inline: .44rem;
    }
    .contact-page .contact-shell {
        padding: .66rem;
        border-radius: 10px;
    }
    .contact-side-card,
    .contact-form-card,
    .contact-map-card {
        padding: .74rem .72rem;
    }
    .contact-side-card h2 {
        font-size: 1.06rem;
    }
    .contact-form-head h2 {
        font-size: .94rem;
    }
    .contact-map-frame iframe {
        height: 220px;
    }
}

@media (max-width: 767px) {
    .service-other-slider .entity-slider-track {
        margin-inline: 0;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        transform: none !important;
    }
    .service-other-slider .entity-slider-track::-webkit-scrollbar {
        display: none;
    }
    .service-other-slider .entity-slide {
        flex: 0 0 100%;
        padding-inline: 0;
        scroll-snap-align: start;
    }
    .service-other-slider .entity-slider-controls {
        display: none;
    }
}

.mobile-action-dock {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    height: 56px;
    background: #111111;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    z-index: 1060;
}

.dock-item {
    color: #f7f7f7;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .18rem;
    font-size: .64rem;
    border-right: 1px solid rgba(242, 183, 5, .2);
}

.dock-item:last-child {
    border-right: 0;
}

.dock-item i {
    font-size: .92rem;
    color: #ffd76a;
}

@media (max-height: 820px) and (min-width: 992px) {
    .hero-v2 {
        min-height: 520px;
    }
    .hero-overlay {
        padding: 1.25rem 0;
    }
    .hero-copy h1 {
        font-size: clamp(1.5rem, 2.1vw, 2.1rem);
    }
    .hero-copy p {
        margin-bottom: .95rem;
    }
}

@media (max-width: 1199px) {
    .main-menu-list .nav-link {
        font-size: .75rem;
        margin: 0 .3rem;
        gap: .22rem;
    }
    .main-menu-list .nav-link .menu-link-icon {
        font-size: .6rem;
    }
    .brand-text {
        font-size: .8rem;
    }
    .brand-slogan {
        font-size: .52rem;
    }
    .brand-image {
        height: 46px;
        max-width: clamp(145px, 22vw, 250px);
    }
    .main-navbar-inner {
        height: 52px;
        min-height: 52px;
    }
    .main-navbar.has-image-brand .main-navbar-inner {
        height: 52px;
        min-height: 52px;
    }
    .brands-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
    .services-side-panel {
        top: 76px;
    }
    .services-focus-panel {
        --focus-showcase-height: 390px;
    }
    .services-card-header h3 {
        font-size: .96rem;
    }
}

@media (max-width: 991px) {
    body {
        padding-bottom: 0;
    }
    .copyright-license-bar {
        padding-bottom: 56px;
    }
    .entity-slider-track {
        margin-inline: 0;
    }
    .entity-slide {
        padding-inline: 0;
    }
    .services-focus-content {
        min-height: 0;
        height: auto;
        padding: .95rem .9rem .86rem;
    }
    .services-focus-content h2 {
        font-size: 1.1rem;
    }
    .services-focus-media,
    .services-focus-media img,
    .services-focus-placeholder {
        height: 280px;
        min-height: 280px;
    }
    .services-focus-meta span {
        font-size: .68rem;
    }
    .services-side-panel {
        position: static;
        top: auto;
    }
    .services-side-panel h3 {
        font-size: .94rem;
    }
    .services-side-list li a {
        grid-template-columns: 24px minmax(0, 1fr) 14px;
    }
    .main-navbar {
        border-bottom-color: #e3d4a0;
    }
    .main-navbar-inner {
        height: 50px;
        min-height: 50px;
        position: relative;
        overflow: visible;
    }
    .main-navbar.has-image-brand .main-navbar-inner {
        height: 50px;
        min-height: 50px;
    }
    .main-nav-collapse {
        position: absolute;
        top: calc(100% + 8px);
        left: 12px;
        right: 12px;
        z-index: 1051;
        background: linear-gradient(170deg, #fffefb 0%, #fbf7ea 100%);
        border: 1px solid #e8dcba;
        border-radius: var(--radius-lg);
        padding: .42rem .52rem .52rem;
        box-shadow: 0 16px 32px rgba(17, 17, 17, .16);
    }
    .mobile-nav-close {
        width: 32px;
        height: 32px;
        border-radius: var(--radius-sm);
        border: 1px solid #e2d39f;
        background: #fff7df;
        color: #1f2937;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin: 0 0 .34rem auto;
        padding: 0;
    }
    .mobile-nav-close i {
        font-size: .88rem;
        line-height: 1;
    }
    .mobile-nav-close:hover {
        background: #ffefc2;
    }
    .main-nav-collapse.collapse.show {
        animation: mobileMenuReveal .18s ease-out;
    }
    @keyframes mobileMenuReveal {
        from { opacity: 0; transform: translateY(-4px); }
        to { opacity: 1; transform: translateY(0); }
    }
    .main-navbar .navbar-brand {
        max-width: calc(100% - 64px);
    }
    .brand-logo-image-only {
        max-width: calc(100% - 64px);
    }
    .main-menu-list {
        display: flex;
        width: 100%;
        flex-direction: column;
        background: transparent;
        border: 0;
        border-radius: 0;
        padding: 0;
        gap: 0;
        margin: 0 !important;
    }
    .main-menu-list .nav-item {
        width: 100%;
        border-bottom: 1px solid #efe5cb;
    }
    .main-menu-list .nav-item:last-child {
        border-bottom: 0;
    }
    .main-menu-list .nav-link {
        border-radius: var(--radius-sm);
        padding: .48rem .14rem !important;
        margin: 0;
        font-size: .77rem;
        color: #1f2937;
        border: 0;
        background: transparent;
        text-transform: none;
        letter-spacing: .01em;
        display: flex;
        align-items: center;
        gap: .36rem;
    }
    .main-menu-list .nav-link::after {
        content: none;
    }
    .main-menu-list .nav-link .menu-link-icon {
        font-size: .72rem;
        color: #8b6a1d;
        transform: none;
    }
    .main-menu-list .nav-link .menu-link-text {
        flex: 1;
    }
    .main-menu-list .nav-link:hover {
        background: #fff7e7;
        color: #111827;
        border-radius: var(--radius-sm);
    }
    .main-menu-list .nav-link.active {
        background: #fffdf5;
        color: #111827;
        border-left: 3px solid #d49b11;
        border-radius: var(--radius-sm);
        box-shadow: none;
        padding-left: .46rem !important;
    }
    .main-menu-list .nav-link.active .menu-link-icon {
        color: #7a5a09;
    }
    .main-nav-actions {
        display: none !important;
    }
    .mobile-menu-cta {
        margin-top: .42rem;
    }
    .mobile-menu-cta-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: .38rem;
    }
    .mobile-menu-call {
        width: 100%;
        border: 1px solid #f2b705;
        color: #161616;
        background: linear-gradient(180deg, #ffd96a 0%, #f2b705 100%);
        border-radius: var(--radius-sm);
        text-decoration: none;
        font-weight: 700;
        font-size: .7rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .28rem;
        padding: .38rem .42rem;
        box-shadow: 0 8px 16px rgba(242, 183, 5, .22);
        white-space: nowrap;
    }
    .mobile-menu-whatsapp {
        width: 100%;
        border: 1px solid #1ea35a;
        color: #fff;
        background: linear-gradient(180deg, #22c55e 0%, #169a50 100%);
        border-radius: var(--radius-sm);
        text-decoration: none;
        font-weight: 700;
        font-size: .7rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .28rem;
        padding: .38rem .42rem;
        box-shadow: 0 8px 16px rgba(22, 154, 80, .22);
        white-space: nowrap;
    }
    .mobile-menu-call:hover {
        color: #111;
        filter: brightness(1.04);
    }
    .mobile-menu-whatsapp:hover {
        color: #fff;
        filter: brightness(1.04);
    }
    .mobile-menu-social {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: .46rem;
        margin-top: .58rem;
        padding-top: .52rem;
        border-top: 1px solid #ebdebc;
    }
    .mobile-social-btn {
        width: 34px;
        height: 34px;
        border-radius: 999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        text-decoration: none;
        border: 1px solid rgba(255, 255, 255, .18);
        transition: transform .18s ease, filter .18s ease;
    }
    .mobile-social-btn i {
        font-size: .92rem;
        line-height: 1;
    }
    .mobile-social-btn:hover {
        transform: translateY(-1px);
        filter: brightness(1.06);
        color: #fff;
    }
    .mobile-social-facebook {
        background: #1877f2;
    }
    .mobile-social-x {
        background: #000;
    }
    .mobile-social-instagram {
        background: radial-gradient(circle at 30% 110%, #feda75 0%, #fa7e1e 30%, #d62976 65%, #962fbf 85%, #4f5bd5 100%);
    }
    .mobile-social-linkedin {
        background: #0a66c2;
    }
    .brand-image {
        height: 44px;
        max-width: min(240px, calc(100vw - 120px));
    }
    .hero-form-card {
        margin-top: .5rem;
        margin-left: 0;
        max-width: 100%;
    }
    .hero-v2 {
        min-height: 560px;
        overflow: visible;
        margin-bottom: 280px;
    }
    .hero-slider-dots {
        top: 40%;
        left: 14px;
        transform: none;
        bottom: auto;
        z-index: 8;
        flex-direction: column;
        gap: .32rem;
        padding: .38rem .28rem;
        border-radius: var(--radius-md);
        background: rgba(0, 0, 0, .42);
    }
    .hero-slider-dots button {
        width: 10px;
        height: 3px;
    }
    .hero-slider-dots button.is-active {
        width: 10px;
        height: 17px;
    }
    .hero-overlay {
        align-items: flex-start;
        padding: 1.5rem 0 .85rem;
    }
    .hero-overlay .row {
        --bs-gutter-y: .65rem;
    }
    .hero-copy {
        margin-top: 1.35rem;
        max-width: 100%;
        background: rgba(7, 7, 7, .42);
        border: 1px solid rgba(242, 183, 5, .24);
        border-radius: 10px;
        padding: .9rem .95rem .8rem;
    }
    .hero-copy h1 {
        font-size: 1.18rem;
        line-height: 1.22;
        margin-bottom: .58rem;
    }
    .hero-copy p {
        font-size: .82rem;
        margin-bottom: .62rem;
        max-width: 100%;
    }
    .hero-form-wrap {
        justify-content: center;
        position: relative;
        z-index: 3;
    }
    .hero-form-card {
        width: min(94%, 430px);
        transform: translateY(54%);
        margin-top: 0;
    }
    .about-overview-shell {
        padding: .74rem;
    }
    .about-overview-media,
    .about-overview-media img {
        min-height: 260px;
    }
    .about-featured-content {
        padding: .84rem .86rem .8rem;
    }
    .about-grid-media,
    .about-grid-media img {
        height: 170px;
    }
    .about-gallery-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .about-gallery-item img {
        height: 150px;
    }
    .hero-form-card h2 {
        font-size: 1rem;
    }
    .hero-form-card p {
        font-size: .78rem;
        margin-bottom: .55rem;
    }
    .hero-form-card .form-control {
        font-size: .84rem;
        padding: .42rem .52rem;
    }
    .hero-btn-submit {
        font-size: .86rem;
        padding: .5rem .68rem;
    }
    .mix-card-image,
    .mix-card-placeholder {
        height: 162px;
    }
    .entity-card-image,
    .entity-card-placeholder {
        height: 150px;
    }
    .brands-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .container-fluid {
        padding-inline: 14px !important;
    }
    .section-cta-btn {
        font-size: .64rem;
        padding: .28rem .56rem;
    }
    .services-hub-section {
        padding-top: .85rem !important;
        padding-bottom: .9rem !important;
    }
    .services-focus-panel {
        border-radius: 10px;
    }
    .services-focus-media,
    .services-focus-media img,
    .services-focus-placeholder {
        height: 220px;
        min-height: 220px;
    }
    .services-focus-content h2 {
        font-size: 1rem;
    }
    .services-focus-content p {
        font-size: .83rem;
    }
    .services-focus-actions {
        gap: .34rem;
    }
    .services-primary-btn,
    .services-outline-btn {
        font-size: .7rem;
        padding: .4rem .58rem;
    }
    .services-longform-card,
    .services-catalog-card,
    .services-side-panel {
        border-radius: 10px;
    }
    .services-longform-card,
    .services-catalog-card {
        padding: .82rem .76rem;
    }
    .service-premium-image,
    .service-premium-placeholder {
        height: 132px;
    }
    .service-premium-body {
        padding: .66rem .68rem .72rem;
    }
    .service-premium-body h4 {
        font-size: .86rem;
    }
    .service-premium-body p {
        font-size: .79rem;
    }
    .services-side-title {
        font-size: .78rem;
    }
    .entity-slider-track {
        margin-inline: 0;
    }
    .entity-slide {
        padding-inline: 0;
    }
    .entity-slider-controls {
        margin-top: .6rem;
        gap: .4rem;
    }
    .entity-slider-nav {
        width: 24px;
        height: 24px;
    }
    .entity-slider-dots button.is-active {
        width: 14px;
    }
    .about-overview-card h2,
    .about-featured-content h2 {
        font-size: 1.08rem;
        margin-bottom: .44rem;
    }
    .about-overview-summary,
    .about-featured-summary {
        font-size: .84rem;
        margin-bottom: .5rem;
    }
    .about-richtext {
        font-size: .8rem;
        line-height: 1.62;
    }
    .about-overview-actions {
        gap: .34rem;
        margin-top: .62rem;
    }
    .about-btn-primary,
    .about-btn-outline {
        font-size: .71rem;
        padding: .34rem .58rem;
    }
    .about-overview-media,
    .about-overview-media img {
        min-height: 210px;
    }
    .about-featured-media,
    .about-featured-media img {
        min-height: 200px;
    }
    .about-featured-content {
        padding: .72rem .7rem .68rem;
    }
    .about-grid-body {
        padding: .68rem .66rem .72rem;
    }
    .about-grid-body h3 {
        font-size: .9rem;
    }
    .about-grid-summary {
        font-size: .8rem;
    }
    .about-grid-text {
        font-size: .76rem;
    }
    .about-grid-link {
        font-size: .72rem;
    }
    .about-gallery-grid {
        gap: .5rem;
    }
    .about-gallery-item img {
        height: 124px;
    }
    .brand-mark {
        width: 30px;
        height: 30px;
        font-size: .76rem;
    }
    .brand-text {
        font-size: .78rem;
    }
    .brand-slogan {
        font-size: .48rem;
    }
    .brand-image {
        height: 40px;
        max-width: min(220px, calc(100vw - 110px));
    }
    .main-navbar.has-image-brand .main-navbar-inner {
        height: 50px;
        min-height: 50px;
    }
    .lang-dropdown-mobile .lang-dropdown-toggle {
        min-width: 56px;
        padding: .16rem .28rem;
        font-size: .62rem;
    }
    .lang-dropdown-mobile .flag-icon {
        width: 14px;
        height: 10px;
    }
    .mobile-menu-cta-grid {
        gap: .28rem;
    }
    .mobile-menu-call,
    .mobile-menu-whatsapp {
        font-size: .62rem;
        gap: .18rem;
        padding: .34rem .28rem;
    }
    .mobile-social-btn {
        width: 30px;
        height: 30px;
    }
    .mobile-social-btn i {
        font-size: .82rem;
    }
    .hero-copy h1 {
        font-size: .98rem;
    }
    .hero-copy p {
        font-size: .76rem;
    }
    .hero-btn-primary {
        font-size: .82rem;
        padding: 7px 13px;
    }
    .hero-link-inline {
        font-size: .84rem;
    }
    .hero-overlay {
        padding: 1.3rem 0 .75rem;
    }
    .hero-v2 {
        min-height: 500px;
        overflow: visible;
        margin-bottom: 255px;
    }
    .hero-slider-dots {
        top: 38%;
        left: 10px;
        bottom: auto;
    }
    .hero-copy {
        margin-top: 1.55rem;
        padding: .8rem .8rem .72rem;
    }
    .hero-form-card {
        transform: translateY(58%);
    }
    .mix-card-content h3 {
        font-size: .9rem;
    }
    .mix-card-content p {
        font-size: .8rem;
    }
    .mix-card-action {
        font-size: .68rem;
    }
    .entity-card-content h3 {
        font-size: .88rem;
    }
    .entity-card-content p {
        font-size: .8rem;
        min-height: 46px;
    }
    .brands-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .52rem;
    }
    .brand-item {
        min-height: 78px;
    }
}

@media (max-width: 420px) {
    .hero-v2 {
        min-height: 470px;
        overflow: visible;
        margin-bottom: 235px;
    }
    .hero-copy h1 {
        font-size: .92rem;
    }
    .hero-slider-dots {
        top: 36%;
        left: 8px;
        bottom: auto;
    }
    .hero-form-card {
        transform: translateY(61%);
    }
}

.anti-spam-trap {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.notfound-section {
    background: linear-gradient(180deg, #f8f6ef 0%, #f2f0e8 100%);
    border-top: 1px solid #e6dcc1;
}

.notfound-panel {
    background: radial-gradient(120% 160% at 10% 0%, rgba(242, 183, 5, .2) 0%, rgba(17, 17, 17, .94) 42%, #090909 100%);
    color: #f7f7f7;
    border: 1px solid rgba(242, 183, 5, .34);
    border-radius: 16px;
    padding: clamp(20px, 3.2vw, 34px);
    box-shadow: 0 18px 44px rgba(10, 10, 10, .24);
}

.notfound-code {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 74px;
    height: 36px;
    border-radius: 999px;
    font-size: .92rem;
    letter-spacing: .08em;
    font-weight: 800;
    color: #101010;
    background: linear-gradient(135deg, #ffd24a 0%, #f2b705 60%, #a97900 100%);
}

.notfound-panel h2 {
    margin: 12px 0 8px;
    font-size: clamp(1.35rem, 2.8vw, 2.15rem);
    font-weight: 800;
    letter-spacing: -.01em;
}

.notfound-panel p {
    margin: 0 0 12px;
    color: rgba(245, 245, 245, .9);
    max-width: 760px;
}

.notfound-requested {
    font-size: .92rem;
    border-left: 3px solid rgba(242, 183, 5, .9);
    padding-left: .75rem;
    color: #ffe6a0 !important;
}

.notfound-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .62rem;
    margin-top: .35rem;
}

.notfound-btn-primary,
.notfound-btn-ghost {
    border-radius: 10px;
    font-weight: 700;
    padding: .54rem .92rem;
    font-size: .86rem;
}

.notfound-btn-primary {
    background: #f2b705;
    color: #111;
    border: 1px solid #f2b705;
}

.notfound-btn-primary:hover {
    background: #ffd24a;
    color: #111;
    border-color: #ffd24a;
}

.notfound-btn-ghost {
    background: rgba(255, 255, 255, .06);
    border: 1px solid rgba(242, 183, 5, .45);
    color: #f5f5f5;
}

.notfound-btn-ghost:hover {
    background: rgba(242, 183, 5, .2);
    border-color: rgba(242, 183, 5, .65);
    color: #fff;
}

.notfound-links-wrap {
    background: #fff;
    border: 1px solid #e7dfc8;
    border-radius: 12px;
    padding: 14px 16px;
}

.notfound-links-wrap h3 {
    margin: 0 0 10px;
    font-size: .96rem;
    font-weight: 800;
    color: #141414;
}

.notfound-links {
    display: flex;
    flex-wrap: wrap;
    gap: .54rem;
}

.notfound-links a {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: #151515;
    border: 1px solid #e1d9c0;
    border-radius: 999px;
    padding: .36rem .7rem;
    font-size: .8rem;
    font-weight: 600;
    background: #faf9f4;
}

.notfound-links a:hover {
    color: #111;
    border-color: #f2b705;
    background: #fff8da;
}

@media (max-width: 767px) {
    .notfound-panel {
        border-radius: 12px;
        padding: 16px 14px;
    }
    .notfound-panel h2 {
        font-size: 1.16rem;
        margin: 9px 0 7px;
    }
    .notfound-panel p {
        font-size: .82rem;
    }
    .notfound-actions {
        gap: .44rem;
    }
    .notfound-btn-primary,
    .notfound-btn-ghost {
        width: 100%;
        font-size: .76rem;
        padding: .44rem .6rem;
    }
    .notfound-links-wrap {
        padding: 12px 12px;
    }
    .notfound-links a {
        font-size: .72rem;
        padding: .3rem .56rem;
    }
}

@media (max-width: 991px) {
    .inner-hero {
        min-height: 102px;
    }

    .inner-hero-overlay {
        padding: .8rem 0 .5rem;
    }

    .inner-hero-head {
        flex-direction: column;
        align-items: flex-start;
        gap: .3rem;
    }

    .inner-hero h1 {
        max-width: 100%;
        font-size: 1.12rem;
        line-height: 1.2;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .breadcrumb-wrap {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        font-size: .73rem;
    }

    .breadcrumb-wrap::-webkit-scrollbar {
        display: none;
    }

    .breadcrumb-item.is-current {
        display: none;
    }
}

@media (max-width: 575px) {
    .inner-hero {
        min-height: 92px;
    }

    .inner-hero h1 {
        font-size: 1rem;
    }

    .breadcrumb-wrap {
        font-size: .68rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
    .hero-slide-layer {
        transform: none !important;
    }
    .brand-logo-image-only .brand-image {
        animation: none !important;
    }
}
