.outline-fill-button {
    transition: background-color .35s ease-in-out, color .35s ease-in-out, border-color .35s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
    .outline-fill-button { transition-duration: 0s; }
}
.hero-title {
    font-size: 48px;
}
.section-title {
    font-size: 36px;
}
.marquee-text {
    font-size: 14px;
}
.dashed-orbit {
    position: absolute;
    top: 75px;
    right: 75px;
    bottom: 75px;
    left: 75px;
    animation: spin-reverse 40s linear infinite;
}
.home-orbit .dashed-orbit,
.event-orbit .dashed-orbit {
    
    inset: 15.625%;
    width: 68.75%;
    height: 68.75%;
    transform-origin: center;
}

@keyframes spin-reverse {
    from { transform: rotate(0deg); }
    to { transform: rotate(-360deg); }
}
.label-dot {
    width: 6px;
    height: 6px;
    background-color: #C1E52E;
    border-radius: 9999px;
    box-shadow: 0 0 0 5px #1C1C1E;
    flex-shrink: 0;
    margin-left: 5px;
    margin-right: 5px;
}

.label-dot--light {
    box-shadow: 0 0 0 5px rgba(243, 242, 239, 0.2);
}
.lang-arrow {
    width: 10px;
    height: 10px;
    margin-left: 4px;
}
.header-phone {
    font-weight: 500;
    letter-spacing: 2px;
}
.burger-btn {
    cursor: pointer;
    transition: brightness 0.2s;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.burger-btn:hover {
    filter: brightness(1.1);
}
}
.burger-line {
    transition: width 0.3s ease;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.burger-btn:hover .burger-line-top {
    width: 23px;
}
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.burger-btn:hover .burger-line-bottom {
    width: 32px;
}
}
.btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: #C1E52E;
    color: #000000;
    font-size: 13px;
    font-weight: 500;
    font-family: 'Onest', sans-serif;
    padding: 12px 24px;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: 2px;
    white-space: nowrap;
    transition: filter 0.2s;
    text-decoration: none;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.btn-primary:hover {
    filter: brightness(1.1);
}
}
.contact-form-block {
    background-color: #1C1C1E;
    border: 1px solid #38383A;
    border-radius: 18px;
}
.contact-input {
    background-color: #2C2C2E;
    border: 1px solid transparent;
    border-radius: 15px;
}
.file-add-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background-color: #2C2C2E;
    border-radius: 9999px;
    font-size: 20px;
    line-height: 1;
}
.custom-checkbox {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    min-width: 20px;
    background-color: #FFFFFF;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    position: relative;
}
.custom-checkbox:checked {
    background-color: #C1E52E;
}
.custom-checkbox:focus-visible {
    outline: 2px solid #C1E52E;
    outline-offset: 3px;
}
.btn-shimmer {
    cursor: pointer;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
    .btn-shimmer {
        transition: background-color .25s ease;
    }
    .btn-shimmer:hover {
        background-color: #C1E52E;
    }
}
@media (prefers-reduced-motion: reduce) {
    .btn-shimmer {
        transition: none;
    }
    .btn-shimmer::after {
        animation: none;
    }
}

.site-arrow {
    display: inline-block;
    width: 10px;
    height: calc(10px * 15 / 14);
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: url('../images/arrow.svg') center / contain no-repeat;
    mask: url('../images/arrow.svg') center / contain no-repeat;
    vertical-align: middle;
}
.site-arrow--right { transform: rotate(45deg); }
.site-arrow--left { transform: rotate(-135deg); }
.site-arrow--up { transform: rotate(-45deg); }
.site-arrow--down { transform: rotate(135deg); }
.site-arrow--right, .site-arrow--left { width: 12px; height: calc(12px * 15 / 14); }
.case-study__navigation-arrow .site-arrow { width: 10px; height: calc(10px * 15 / 14); }

.custom-checkbox.is-invalid {
    outline: 2px solid #FF5C62;
    outline-offset: 3px;
}
.custom-checkbox:checked::after {
    content: '';
    position: absolute;
    left: 6px;
    top: 3px;
    width: 6px;
    height: 10px;
    border: solid #000;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.faq-question {
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    font-size: 17px;
    color: #FFFFFF;
}
.faq-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    background-color: #1C1C1E;
    border-radius: 9999px;
    position: relative;
}
.faq-toggle-icon {
    position: relative;
    width: 10px;
    height: 10px;
}
.faq-toggle-icon::before,
.faq-toggle-icon::after {
    content: '';
    position: absolute;
    background-color: #8E8E93;
    transition: transform 0.3s ease;
}
.faq-toggle-icon::before {
    width: 10px;
    height: 2px;
    top: 4px;
    left: 0;
}
.faq-toggle-icon::after {
    width: 2px;
    height: 10px;
    top: 0;
    left: 4px;
}
.faq-toggle--open .faq-toggle-icon::after {
    transform: rotate(90deg);
}
.service-groups-list {
    display: flex;
    flex-direction: column;
    gap: 48px;
}
.service-group-card {
    background-color: #1C1C1E;
    border: 1px solid #38383A;
    border-radius: 18px;
}
.service-group-rows {
    padding: 0 24px;
}
.service-group-rows a {
    border-bottom: 1px solid rgba(56, 56, 58, 0.5);
}
.service-group-rows a:last-child {
    border-bottom: none;
}
.service-group-label {
    font-size: 12px;
    color: #8E8E93;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    white-space: nowrap;
    width: 140px;
    min-width: 140px;
    flex-shrink: 0;
}
.service-num {
    font-family: 'Onest', sans-serif;
    font-size: 14px;
    color: #8E8E93;
    width: 24px;
    flex-shrink: 0;
    transition: color 0.35s ease;
}
.service-name {
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: #FFFFFF;
    transition: color 0.35s ease, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (max-width: 767px) {
    .service-name {
        font-size: 16px;
    }
}
.service-row {
    position: relative;
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    padding: 20px 0;
    text-decoration: none;
}
@media (min-width: 768px) {
    .service-row {
        grid-template-columns: 24px minmax(0, 1fr) minmax(0, 1fr);
    }
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.service-row:hover .service-num {
    color: #C1E52E;
}
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.service-row:hover .service-name {
    color: #C1E52E;
    transform: translateX(6px);
}
}
.service-desc {
    font-size: 14px;
    color: #8E8E93;
    min-width: 0;
    text-align: right;
    line-height: 1.5;
    transition: color 0.35s ease;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.service-row:hover .service-desc {
    color: #8E8E93;
}
}
.seo-text-block {
    max-height: 250px;
    overflow-y: auto;
    color: #FFFFFF;
    font-size: 14px;
    line-height: 1.7;
    padding-right: 25px;
}
.seo-text-block p {
    margin-bottom: 15px;
}
.seo-text-block h2,
.seo-text-block h3 {
    font-size: 18px;
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    margin-bottom: 10px;
}
.seo-text-block h3 {
    margin-top: 5px;
}
.seo-text-block::-webkit-scrollbar {
    width: 6px;
}
.seo-text-block::-webkit-scrollbar-track {
    background: #1C1C1E;
    border-radius: 6px;
}
.seo-text-block::-webkit-scrollbar-thumb {
    background: #8E8E93;
    border-radius: 6px;
}
.footer-phone {
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    color: #B1D600;
}

.hero-subtitle {
    color: #8E8E93;
}
.burger-overlay {
    position: fixed;
    inset: 0;
    z-index: 55;
    overflow-y: auto;
}
.burger-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
}
.burger-content {
    position: relative;
    z-index: 1;
    max-width: var(--site-max-width);
    margin: 0 auto;
    padding: 100px 24px 60px;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.burger-close {
    position: fixed;
    top: 18px;
    right: 24px;
    z-index: 61;
    width: 38px;
    height: 38px;
    border-radius: 9999px;
    background-color: #C1E52E;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.3s ease;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.burger-close:hover {
    transform: rotate(90deg);
}
}
.burger-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px;
    align-items: start;
}
.burger-nav {
    display: flex;
    flex-direction: column;
    gap: 0;
}
.burger-nav-link {
    display: flex;
    align-items: baseline;
    gap: 20px;
    padding: 16px 10px 16px 0;
    text-decoration: none;
    position: relative;
    width: fit-content;
}
.burger-nav-num {
    font-family: 'Onest', sans-serif;
    font-size: 13px;
    color: #8E8E93;
    width: 24px;
    flex-shrink: 0;
    transition: color 0.3s;
}
.burger-nav-text {
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    font-size: 26px;
    color: #FFFFFF;
    line-height: 1.2;
    transition: color 0.3s, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.burger-nav-link:hover .burger-nav-text {
    color: #C1E52E;
    transform: translateX(10px);
}
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.burger-nav-link:hover .burger-nav-num {
    color: #C1E52E;
}
}
.burger-nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #C1E52E;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.burger-nav-link:hover::after {
    transform: scaleX(1);
}
}
.burger-info-col {
    display: flex;
    flex-direction: column;
    gap: 28px;
    padding-top: 16px;
}
.burger-info-block {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.burger-info-label {
    font-size: 11px;
    color: #8E8E93;
    text-transform: uppercase;
    letter-spacing: 0.2em;
}
.burger-info-phone {
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    font-size: 22px;
    color: #C1E52E;
    text-decoration: none;
    transition: opacity 0.2s;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.burger-info-phone:hover {
    opacity: 0.8;
}
}
.burger-info-email {
    font-size: 15px;
    color: #8E8E93;
    text-decoration: none;
    transition: color 0.2s;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.burger-info-email:hover {
    color: #C1E52E;
}
}
.burger-socials {
    display: flex;
    gap: 10px;
}
.burger-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 9999px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    transition: border-color 0.3s, transform 0.3s;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.burger-social-link:hover {
    border-color: #C1E52E;
    transform: translateY(-2px);
}
}
.burger-langs {
    display: flex;
    gap: 8px;
}
.burger-lang {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 9999px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 13px;
    font-weight: 500;
    color: #FFFFFF;
    text-decoration: none;
    text-transform: uppercase;
    transition: all 0.3s;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.burger-lang:hover {
    border-color: #C1E52E;
    color: #C1E52E;
}
}
.burger-lang--active {
    background-color: #C1E52E;
    border-color: #C1E52E;
    color: #000000;
}
@media (max-width: 768px) {
    .burger-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .burger-nav-text {
        font-size: 22px;
    }
    .burger-content {
        padding: 80px 16px 40px;
    }
    .burger-close {
        top: 14px;
        right: 16px;
    }
}
.breadcrumbs {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
}
.breadcrumb-link {
    color: #8E8E93;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.15em;
    text-decoration: none;
    transition: color 0.2s;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.breadcrumb-link:hover {
    color: #C1E52E;
}
}
.breadcrumb-arrow {
    flex-shrink: 0;
    margin: 0 2px;
}
.breadcrumb-current {
    color: #8E8E93;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0.15em;
}
.blog-filter-pill {
    display: inline-flex;
    align-items: center;
    padding: 8px 22px;
    border-radius: 9999px;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    transition: all 0.2s;
    border: 1px solid transparent;
    background-color: #1C1C1E;
    color: #8E8E93;
    text-decoration: none;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.blog-filter-pill:hover {
    color: #FFFFFF;
}
}
.blog-filter-pill--active {
    background-color: #C1E52E;
    color: #000000;
    border-color: #C1E52E;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.blog-filter-pill--active:hover {
    border-color: #C1E52E;
}
}
.blog-card {
    display: block;
    text-decoration: none;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.blog-card:hover {
}
}
.blog-card-image {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 18px;
}
.blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.blog-card:hover .blog-card-image img {
    transform: scale(1.05);
}
}
.blog-card-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background-color: rgba(12, 12, 12, 0.8);
    color: #FFFFFF;
    font-size: 11px;
    padding: 4px 12px;
    border-radius: 9999px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}
.blog-card-body {
    padding: 16px 0;
}
.blog-card-date {
    font-size: 12px;
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 12px;
}
.blog-card-title {
    font-family: 'Rubik', sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: #FFFFFF;
    line-height: 1.4;
    margin-bottom: 8px;
    transition: color 0.2s;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.blog-card:hover .blog-card-title {
    color: #C1E52E;
}
}
.blog-card-excerpt {
    font-size: 14px;
    color: #8E8E93;
    line-height: 1.6;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.blog-card-author {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 14px;
}
.blog-card-author-avatar {
    width: 32px;
    height: 32px;
    border-radius: 9999px;
    object-fit: cover;
    flex-shrink: 0;
}
.blog-card-author-initials {
    width: 32px;
    height: 32px;
    border-radius: 9999px;
    background-color: rgba(193, 229, 46, 0.15);
    color: #C1E52E;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.blog-card-author-info {
    display: flex;
    flex-direction: column;
    gap: 1px;
    min-width: 0;
}
.blog-card-author-name {
    font-size: 13px;
    font-weight: 600;
    color: #FFFFFF;
    line-height: 1.3;
}
.blog-card-author-meta {
    font-size: 11px;
    color: #8E8E93;
    line-height: 1.3;
}
.pagination-circle {
    width: 46px;
    height: 46px;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.2s;
    text-decoration: none;
}
.pagination-circle--active {
    border: 1px solid #8E8E93;
    background: transparent;
    color: #FFFFFF;
}
.pagination-circle--inactive {
    background-color: #1C1C1E;
    color: #8E8E93;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.pagination-circle--inactive:hover {
    color: #FFFFFF;
}
}
.blog-intro-block {
    background-color: #1C1C1E;
    border: 1px solid #38383A;
    border-radius: 18px;
    padding: 24px 32px;
}
.blog-intro-text {
    color: #FFFFFF;
    font-size: 14px;
    line-height: 1.7;
}
.consultation-overlay {
    position: fixed;
    inset: 0;
    z-index: 56;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.consultation-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
}
.consultation-card {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 480px;
    background-color: #1C1C1E;
    border: 1px solid #38383A;
    border-radius: 22px;
    padding: 40px 36px 36px;
    overflow: hidden;
}
.consultation-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    width: 38px;
    height: 38px;
    border-radius: 9999px;
    background-color: #C1E52E;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: transform 0.3s ease;
    border: none;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.consultation-close:hover {
    transform: rotate(90deg);
}
}
.consultation-title {
    font-size: 28px;
    color: #FFFFFF;
    line-height: 1.2;
    margin-bottom: 6px;
}
.consultation-subtitle {
    font-size: 14px;
    color: #8E8E93;
    line-height: 1.5;
}
.consultation-fields {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 28px;
}
.consultation-field {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.consultation-input {
    width: 100%;
    background-color: #2C2C2E;
    border: 1px solid transparent;
    border-radius: 15px;
    padding: 14px 18px;
    font-size: 15px;
    font-family: 'Onest', sans-serif;
    color: #FFFFFF;
    outline: none;
    transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.consultation-input::placeholder {
    color: #8E8E93;
}
.consultation-input:focus {
    border-color: #C1E52E;
    box-shadow: 0 0 0 3px rgba(193, 229, 46, 0.1);
}
.consultation-input--error {
    border-color: #FF453A !important;
    box-shadow: 0 0 0 3px rgba(255, 69, 58, 0.1) !important;
}
.consultation-error {
    font-size: 12px;
    color: #FF453A;
    padding-left: 4px;
}
.consultation-privacy {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
    font-size: 13px;
    color: #8E8E93;
    cursor: pointer;
    font-weight: 500;
}
.consultation-privacy-link {
    color: #8E8E93;
    text-decoration: underline;
    transition: color 0.2s;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.consultation-privacy-link:hover {
    color: #FFFFFF;
}
}
.consultation-submit {
    margin-top: 24px;
    width: 100%;
    justify-content: center;
    padding: 16px 24px;
    font-size: 14px;
    border: none;
    cursor: pointer;
}
.consultation-submit:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}
.consultation-spinner {
    animation: consultation-spin 1s linear infinite;
}
@keyframes consultation-spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.consultation-accent {
    position: absolute;
    bottom: -60px;
    right: -60px;
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, rgba(193, 229, 46, 0.12) 0%, transparent 70%);
    border-radius: 9999px;
    pointer-events: none;
}
@media (max-width: 480px) {
    .consultation-overlay {
        padding: 12px;
        align-items: center;
    }
    .consultation-card {
        padding: 32px 24px 28px;
        border-radius: 22px 22px 18px 18px;
        max-height: 90vh;
        overflow-y: auto;
    }
    .consultation-title {
        font-size: 24px;
    }
}
.blog-section {
    background-color: #1C1C1E;
}
.blog-slider {
    position: relative;
    overflow: hidden;
}
.blog-slider-track {
    display: flex;
    gap: 24px;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}
.blog-slider-track:active {
    cursor: grabbing;
}
.blog-slider-slide {
    flex: 0 0 calc((100% - 48px) / 3);
    min-width: 0;
}
.blog-slider-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 32px;
}
.blog-slider-dot {
    width: 8px;
    height: 8px;
    border-radius: 9999px;
    background-color: rgba(255, 255, 255, 0.3);
    border: none;
    padding: 0;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.blog-slider-dot:hover {
    background-color: rgba(255, 255, 255, 0.5);
}
}
.blog-slider-dot--active {
    background-color: #B1D600;
}
@media (max-width: 1024px) {
    .blog-slider-slide {
        flex: 0 0 calc((100% - 24px) / 2);
    }
}
@media (max-width: 640px) {
    .blog-slider-slide {
        flex: 0 0 85%;
    }
}
.yam-credit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 9px 20px;
    flex-shrink: 0;
    border: 1px solid #38383A;
    border-radius: 999px;
    background: #1C1C1E;
    color: #8E8E93;
    font-family: 'Onest', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.25;
    text-decoration: none;
    white-space: nowrap;
    transition: border-color .2s ease;
}
.yam-credit__dot { width: 6px; height: 6px; flex-shrink: 0; border-radius: 50%; background: #B1D600; }
.yam-credit__name { color: #fff; }
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.yam-credit:hover { border-color: #8E8E93; }
}
.yam-credit:focus-visible { outline: 2px solid #B1D600; outline-offset: 4px; }
@media(prefers-reduced-motion: reduce) { .yam-credit { transition: none; } }
.yam-credit__name { display: inline-block; }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    @media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
    .yam-credit:hover .yam-credit__name { animation: yam-arcade-glitch 360ms steps(1, end) 1; }
    }
    @media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
    .yam-credit:hover .yam-credit__dot { animation: yam-arcade-blink 360ms steps(1, end) 1; }
    }
}
@media (prefers-reduced-motion: no-preference) {
    .yam-credit:focus-visible .yam-credit__name { animation: yam-arcade-glitch 360ms steps(1, end) 1; }
    .yam-credit:focus-visible .yam-credit__dot { animation: yam-arcade-blink 360ms steps(1, end) 1; }
}
@keyframes yam-arcade-glitch {
    0%, 100% { transform: translate(0, 0); text-shadow: none; }
    14% { transform: translate(-1px, 0); text-shadow: 2px 0 #B1D600, -1px 1px #8E8E93; }
    28% { transform: translate(1px, -1px); text-shadow: -2px 0 #B1D600; }
    42% { transform: translate(0, 1px); text-shadow: 1px -1px #B1D600, -1px 0 #8E8E93; }
    56% { transform: translate(-1px, 0); text-shadow: 2px 1px #B1D600; }
    72% { transform: translate(1px, 0); text-shadow: -1px 0 #B1D600; }
    86% { transform: translate(0, 0); text-shadow: none; }
}
@keyframes yam-arcade-blink {
    0%, 44%, 100% { opacity: 1; }
    18%, 64% { opacity: .3; }
    82% { opacity: 1; }
}
.showreel-player { position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; isolation: isolate; }
.showreel-player > video { display: block; width: 100%; height: 100%; object-fit: cover; }
.showreel-loader { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; background: radial-gradient(ellipse at center, #202515 0%, #10110e 40%, #080808 75%); }
.showreel-loader__orbit { position: relative; width: clamp(64px, 10vw, 112px); aspect-ratio: 1; margin-bottom: 6px; }
.showreel-loader__orbit span { position: absolute; inset: 0; border: 1px solid rgba(193,229,46,.12); border-top: 2px solid #C1E52E; border-radius: 50%; animation: showreel-orbit 1.8s linear infinite; }
.showreel-loader__orbit span:nth-child(2) { inset: 14%; border-top-color: rgba(193,229,46,.65); animation-direction: reverse; animation-duration: 2.4s; }
.showreel-loader__orbit span:nth-child(3) { inset: 29%; border-top-color: rgba(193,229,46,.35); animation-duration: 3s; }
.showreel-loader__title { font-size: clamp(12px, 2vw, 16px); font-weight: 500; letter-spacing: .3em; padding-left: .3em; color: #C1E52E; }
.showreel-loader__status { color: #8E8E93; font-size: 12px; }
.showreel-loader__orbit.is-still span { animation-play-state: paused; }
@keyframes showreel-orbit { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .showreel-loader__orbit span { animation: none; } }
.about-shell { max-width: var(--site-max-width); margin-inline: auto; padding-inline: 32px; }
.about-hero { padding-top: 56px; }
.about-hero__heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 56px; }
.about-hero__heading h1 { line-height: 1.15; }
.about-intro { display: grid; grid-template-columns: 1.1fr 1fr; gap: 80px; align-items: start; margin-bottom: 40px; }
.about-label { display: flex; align-items: center; gap: 8px; color: #8E8E93; font-size: 12px; letter-spacing: .14em; line-height: 1.5; margin-bottom: 20px; }
.about-page .section-title { line-height: 1.25; }
.about-intro h2 span { color: #C1E52E; }
.about-intro__copy p { font-size: 16px; line-height: 1.8; color: #BFBFC3; margin-bottom: 28px; }
.about-projects { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 20px; }
.about-project { display: block; position: relative; min-width: 0; height: 320px; overflow: hidden; border-radius: 20px; background: #1C1C1E; }
.about-project img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.about-project:hover img { transform: scale(1.035); }
}
.about-project__caption { position: absolute; inset: auto 0 0; padding: 44px 24px 22px; display: flex; justify-content: space-between; gap: 12px; background: linear-gradient(transparent, #000b); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.about-project__caption > span:last-child { color: #C1E52E; font-size: 20px; }
.about-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); padding: 36px 0; border-bottom: 1px solid #29292B; gap: 28px; }
.about-stats > div { padding-left: 24px; border-left: 1px solid #38383A; }
.about-stats strong { display: block; font-family: 'Rubik', sans-serif; font-size: 48px; font-weight: 600; line-height: 1.15; color: #C1E52E; margin-bottom: 10px; }
.about-stats span { color: #8E8E93; font-size: 14px; line-height: 1.5; }
.about-section { padding-top: 80px; }
.about-section__heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 32px; }
.about-text-link { display: inline-flex; gap: 20px; align-items: center; color: #C1E52E; font-size: 14px; white-space: nowrap; padding-block: 8px; }
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.about-text-link:hover { text-decoration: underline; }
}
.about-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.about-value { background: #1C1C1E; border-radius: 20px; padding: 32px; }
.about-value__number { display: flex; justify-content: space-between; color: #8E8E93; font-size: 14px; margin-bottom: 48px; }
.about-value__number > span { font-size: 24px; line-height: 1; }
.about-value h3 { font-size: 20px; line-height: 1.4; margin-bottom: 16px; }
.about-value p { color: #BFBFC3; font-size: 14px; line-height: 1.8; }
.about-value--accent { background: #C1E52E; color: #000; }
.about-value--accent p, .about-value--accent .about-value__number { color: #363636; }
.about-team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; }
.about-person__photo { aspect-ratio: 4 / 5; display: grid; place-items: center; border-radius: 20px; overflow: hidden; background: #1C1C1E; margin-bottom: 20px; }
.about-person__photo img { width: 100%; height: 100%; object-fit: cover; }
.about-person__photo > span { font-size: 48px; color: #C1E52E; }
.about-person h3 { font-size: 18px; line-height: 1.4; margin-bottom: 6px; }
.about-person p { font-size: 14px; line-height: 1.6; color: #8E8E93; }
.about-brands .brand-strip { margin-top: 32px; }
.about-contact { padding-top: 64px; padding-bottom: 48px; scroll-margin-top: 100px; }
.about-page a:focus-visible { outline: 2px solid #C1E52E; outline-offset: 5px; }
@media (max-width: 1023px) {
    .about-shell { padding-inline: 24px; }
    .about-intro { gap: 40px; }
    .about-projects { gap: 16px; }
    .about-project { height: 260px; }
    .about-value { padding: 24px; }
    .about-team { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .about-shell { padding-inline: 16px; }
    .about-hero { padding-top: 32px; }
    .about-hero__heading { display: block; margin-bottom: 36px; }
    .about-page .hero-title { font-size: 36px; }
    .about-page .section-title { font-size: 28px; }
    .about-intro { grid-template-columns: 1fr; gap: 24px; margin-bottom: 28px; }
    .about-projects { grid-template-columns: 1fr 1fr; gap: 12px; }
    .about-project { height: auto; aspect-ratio: 1; border-radius: 16px; }
    .about-project:first-child { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
    .about-project__caption { padding: 36px 16px 16px; font-size: 10px; letter-spacing: .08em; }
    .about-stats { grid-template-columns: 1fr 1fr; padding-block: 28px; gap: 28px 16px; }
    .about-stats > div { padding-left: 16px; }
    .about-stats strong { font-size: 36px; }
    .about-section { padding-top: 48px; }
    .about-section__heading { flex-direction: column; align-items: start; gap: 16px; }
    .about-values { grid-template-columns: 1fr; gap: 16px; }
    .about-value__number { margin-bottom: 28px; }
    .about-team { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 16px; }
    .about-person h3 { font-size: 16px; }
    .about-contact { padding-top: 48px; padding-bottom: 32px; }
}
@media (prefers-reduced-motion: reduce) { .about-project img { transition: none; } }
.article-header { padding-top: 56px; }
.article-header .breadcrumbs { flex-wrap: wrap; margin-bottom: 16px; }
.article-title { font-size: 48px; margin-bottom: 24px; overflow-wrap: anywhere; }
.article-author { margin-bottom: 24px; }
main .article-author > .flex-col > span {
    font-size: var(--site-text-body);
    line-height: var(--site-leading-body);
}
.article-intro-section { padding-bottom: 32px; }
.article-intro, .article-content { background: #1C1C1E; border-radius: 20px; padding: 28px; }
.article-intro__text { color: #D1D1D1; font-size: 16px; line-height: 1.8; }
.article-cover-section { padding-bottom: 32px; }
.article-cover { position: relative; }
.article-cover__image { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 28px; }
.article-category { display: inline-block; border-radius: 99px; background: #24251fe6; color: white; padding: 10px 16px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.article-cover figcaption { margin-top: 14px; text-align: center; color: #8E8E93; font-size: 14px; line-height: 1.6; }
.article-body-section { padding-bottom: 28px; }
.article-content { color: #D1D1D1; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; padding-bottom: 44px; }
.article-content > :first-child { margin-top: 0; }
.article-content > :last-child { margin-bottom: 0; }
.article-content p { margin-bottom: 22px; }
.article-content h2 { font-size: 20px; }
.article-content h3 { font-size: 18px; }
.article-content h4 { font-size: 18px; }
.article-content :is(h2, h3, h4, h5, h6) { font-weight: 700; line-height: 1.4; color: #E5E5E5; margin: 24px 0 12px; }
.article-content a, .article-sources a { color: #C1E52E; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.article-content a:hover { color: white; }
}
@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
    @media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
    .article-sources a:hover { color: white; }
    }
}
@media (min-width: 1024px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .article-sources a { transition: color 250ms ease; }
}
.article-content strong { color: white; font-weight: 700; }
.article-content ul, .article-content ol { padding-left: 26px; margin: 20px 0 24px; }
.article-content ul { list-style: disc; }
.article-content ol { list-style: decimal; }
.article-content li { padding-left: 3px; margin-block: 6px; }
.article-content li::marker { color: #C1E52E; }
.article-content blockquote { margin: 24px 0; padding: 12px 24px; border-left: 3px solid #C1E52E; background: #242426; border-radius: 0 12px 12px 0; }
.article-content img { max-width: 100%; height: auto; border-radius: 16px; margin-block: 24px; }
.article-content pre { overflow-x: auto; padding: 20px; background: #111; border-radius: 12px; }
.article-content hr { border-color: #38383A; margin-block: 28px; }
.article-content div:has(> table) { overflow-x: auto; border: 1px solid #38383A; border-radius: 18px; margin-block: 24px; }
.article-content table { display: block; max-width: 100%; overflow-x: auto; width: 100%; border: 1px solid #303032; border-radius: 18px; border-spacing: 0; margin-block: 24px; font-size: 16px; }
.article-content table :is(thead, tbody) { display: table; width: 100%; table-layout: fixed; }
.article-content div:has(> table) > table { display: table; min-width: 520px; margin: 0; border: 0; border-radius: 0; overflow: visible; table-layout: fixed; }
.article-content div:has(> table) > table > thead { display: table-header-group; }
.article-content div:has(> table) > table > tbody { display: table-row-group; }
.article-content th, .article-content td { padding: 14px 24px; text-align: left; vertical-align: top; border-bottom: 1px solid #303032; }
.article-content th { color: #8E8E93; font-size: 12px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.article-content tr:last-child td { border-bottom: 0; }
.article-content caption { text-align: left; padding: 16px 20px; color: white; }
.article-sources { padding-bottom: 56px; color: #BFBFC3; font-size: 14px; line-height: 1.8; }
.article-sources h2 { color: #8E8E93; font: inherit; font-size: 12px; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 12px; }
.article-sources ol { list-style: decimal-leading-zero; padding-left: 28px; }
.article-sources li { padding-left: 8px; margin-bottom: 8px; overflow-wrap: anywhere; }
.article-sources li::marker { color: #8E8E93; }
.article-related { background: #1C1C1E; padding-block: 56px; margin-top: 0; }
.article-contact { padding-block: 56px 48px; }
.article-page a:focus-visible, .article-content [tabindex]:focus-visible { outline: 2px solid #C1E52E; outline-offset: 4px; }
@media (max-width: 767px) {
    .article-header { padding-top: 32px; }
    .article-title { font-size: 32px; margin-bottom: 20px; }
    .article-header .breadcrumb-current { overflow-wrap: anywhere; }
    .article-intro, .article-content { padding: 22px 20px; border-radius: 16px; }
    .article-content { padding-bottom: 36px; }
    .article-content, .article-intro__text { font-size: 14px; }
    .article-content h2 { font-size: 20px; }
    .article-content h3 { font-size: 18px; }
    .article-cover__image { border-radius: 20px; }
    .article-category { padding: 7px 12px; font-size: 10px; }
    .article-related, .article-contact { padding-block: 40px; }
    .article-related .section-title, .article-contact .section-title { font-size: 28px; }
}
.article-content li > p { margin: 0; }
.article-content li :is(ul, ol) { margin-block: 8px; }
.article-content ul ul { list-style-type: circle; }
.article-content ol ol { list-style-type: lower-alpha; }
.article-content figure { margin-block: 24px; }
.article-content figure img { margin: 0; }
.article-content figcaption { color: #8E8E93; font-size: 14px; text-align: center; margin-top: 12px; }
.article-content blockquote > :last-child { margin-bottom: 0; }
.article-content :not(pre) > code { padding: 2px 5px; background: #303032; border-radius: 4px; }
.article-content :is(video, iframe) { max-width: 100%; }
.article-content iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; }
.article-content :is(dt, summary) { color: white; font-weight: 600; }
.article-content dd { margin: 8px 0 20px; }
.article-content details { margin-block: 20px; }
.article-content summary { cursor: pointer; }
.article-faq { margin-top: 40px; }
.article-faq .faq-toggle { background: #303032; }
.article-faq button { border-radius: 8px; }
.article-faq button[aria-expanded="true"] .faq-question { color: #C1E52E; }
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.article-faq button:hover .faq-question { color: #C1E52E; }
}
.article-faq button:focus-visible { outline: 2px solid #C1E52E; outline-offset: 4px; }
.article-faq .faq-answer { color: #D1D1D1; }
.article-faq .faq-answer > :last-child { margin-bottom: 0; }
@media (max-width: 767px) {
    .article-content table :is(thead, tbody) { min-width: 520px; }
    .article-content table { font-size: 14px; }
    .article-content div:has(> table) { min-width: 0; }
}
.contact-form-actions { gap: 20px 48px; }
.contact-file-name { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.article-header .breadcrumb-current { min-width: 0; }
.article-author > div { min-width: 0; overflow-wrap: anywhere; }
.article-related .blog-card { min-width: 0; overflow-wrap: anywhere; }
.article-content div:has(> table) { overscroll-behavior-x: contain; }
.site-header .burger-btn { flex-shrink: 0; }
footer a[href^="mailto:"] { overflow-wrap: anywhere; }
@media (max-width: 1279px) {
    .burger-grid { gap: 40px; }
    .burger-grid > div { min-width: 0; }
    .burger-info-email { overflow-wrap: anywhere; }
}
@media (min-width: 768px) and (max-width: 1023px) {
    .article-title { font-size: 40px; }
    .article-contact .contact-form-block { padding: 32px; }
    .article-contact form > .grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
    .article-contact .contact-form-block { padding: 24px 20px; }
    .contact-form-actions { gap: 16px 24px; }
    .contact-form-block .contact-input { font-size: 16px; }
    .article-header .breadcrumbs { gap: 8px; }
    .article-content th, .article-content td { padding: 12px 16px; }
    .article-content blockquote { padding: 12px 16px; }
    .article-related .mb-12 { margin-bottom: 24px; }
    .article-sources { padding-bottom: 40px; }
}
@media (max-width: 399px) {
    .site-header > div > div > a img { width: 112px; height: auto; }
    .site-header a[href^="tel:"] { font-size: 12px; white-space: nowrap; }
    .article-title { font-size: 28px; }
    .article-contact .section-title { font-size: 26px; }
}
.home-orbit { width: min(100%, 480px); aspect-ratio: 1; }
.home-orbit .dashed-orbit { inset: 15.625%; }
.hero-title, .section-title { overflow-wrap: anywhere; }
.faq-question { min-width: 0; overflow-wrap: anywhere; }
.faq-answer { padding-left: 56px; overflow-wrap: anywhere; }
.seo-text-block, .vacancy-content { overflow-wrap: anywhere; }
.vacancy-toggle > :first-child { min-width: 0; }
.vacancy-title, .vacancy-tags > span { overflow-wrap: anywhere; }
.about-person, .about-stats > div, .about-intro > div { min-width: 0; overflow-wrap: anywhere; }
.consultation-card { max-height: calc(100dvh - 40px); overflow-y: auto; overscroll-behavior-y: contain; }
.consultation-title { padding-right: 28px; overflow-wrap: anywhere; }
@media (max-width: 1023px) {
    .event-hero { grid-template-columns: minmax(0, 1fr); gap: 36px; }
    .event-orbit { max-width: 400px; }
    .event-orbit__label--1 { left: auto; right: 0; transform: translateY(-50%); }
    .event-orbit__label--3 { left: 0; transform: translateY(-50%); }
    .event-orbit__label { max-width: 44%; white-space: normal; text-align: center; overflow-wrap: anywhere; }
    .contact-form-block form > .grid { grid-template-columns: minmax(0, 1fr); }
    .contacts-info > .grid > div { min-width: 0; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
    .home-orbit > span { max-width: 40%; white-space: normal; text-align: center; }
}
@media (max-width: 767px) {
    .hero-title:not(.article-title) { font-size: clamp(28px, 7.5vw, 36px); }
    .section-title { font-size: 28px; }
    .contact-form-block { padding: 24px 20px; }
    .consultation-input { font-size: 16px; }
    .breadcrumbs { flex-wrap: wrap; }
    .breadcrumb-current { min-width: 0; overflow-wrap: anywhere; }
    .faq-answer { padding-left: 0; }
    .event-orbit { max-width: 340px; }
    .event-responsibilities li { overflow-wrap: anywhere; }
    .vacancy-content .btn-primary { max-width: 100%; white-space: normal; text-align: center; }
}
@media (max-width: 480px) {
    .consultation-card { max-height: calc(100dvh - 24px); }
    .vacancy-modal .consultation-card { max-height: calc(100dvh - 24px); }
}

@media (max-width: 1023px) {
    .vacancies-application form > .grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
    .vacancies-input { font-size: 16px; }
}
.case-study__gallery-grid--compact .case-study__image { aspect-ratio: auto; }
.case-study__gallery-grid--compact .case-study__image img { height: auto; max-height: 900px; object-fit: contain; }
:root { --site-max-width: 1280px; }
.site-container { width: 100%; max-width: var(--site-max-width); }
@media (min-width: 1440px) {
    :root { --site-max-width: clamp(1280px, calc(75vw + 200px), 1760px); }
    .hero-title:not(.article-title) { font-size: clamp(48px, 3.125vw, 72px); }
    .section-title { font-size: clamp(36px, 2.35vw, 48px); }
    .home-orbit, .event-orbit { width: min(100%, clamp(480px, 31.25vw, 640px)); }
    .home-orbit .circle-text-wrapper, .event-orbit .circle-text-wrapper {
        width: clamp(190px, 12.37vw, 254px) !important;
        height: clamp(190px, 12.37vw, 254px) !important;
    }
    .home-orbit__logo, .event-orbit__logo { width: clamp(128px, 8.33vw, 172px); height: clamp(128px, 8.33vw, 172px); }
    .home-orbit__logo img, .event-orbit__logo img { width: 62.5%; height: 62.5%; }
    .home-hero { padding-block: clamp(64px, 5vw, 112px); }
    .home-hero .hero-subtitle { max-width: 36em; font-size: 18px; }
    .about-project { height: auto; aspect-ratio: 1.4; }
    .article-header .site-container,
    .article-cover-section .site-container,
    .article-body-section .site-container,
    .article-intro-section .site-container,
    .article-sources.site-container { max-width: 1100px; }
    .article-title { max-width: 1200px; }
    .seo-text-block > :is(p, h2, h3, ul, ol) { max-width: 1000px; }
}
@media (max-width: 767px) {
    .portfolio-pagination nav { max-width: 100%; flex-wrap: wrap; justify-content: center; gap: 8px; }
    .portfolio-pagination nav button { width: 40px; height: 40px; flex-shrink: 0; }
}
.case-study__image img { object-position: center top; }
.case-study__photo-link { position: relative; display: block; width: 100%; height: 100%; cursor: zoom-in; }
.case-study__image .case-study__photo-link .case-study__photo {
    position: relative;
    z-index: 1;
    object-fit: cover;
    object-position: center top;
}
.case-study__image .case-study__photo-link--portrait .case-study__photo {
    object-fit: contain;
    object-position: center;
}
.case-study__image .case-study__photo-link .case-study__photo-backdrop {
    display: none;
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center;
    filter: blur(24px) brightness(.65);
    transform: scale(1.12);
    pointer-events: none;
}
.case-study__image .case-study__photo-link--portrait .case-study__photo-backdrop {
    display: block;
}
.case-study__gallery-grid--compact .case-study__photo-link { height: auto; }
.case-study__photo-link:focus-visible { outline: 3px solid #c1e52e; outline-offset: -3px; }
.case-study__photo-zoom { position: absolute; right: 16px; bottom: 16px; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: rgb(0 0 0 / 65%); color: #fff; font-size: 22px; pointer-events: none; }
.case-study__photo-zoom { z-index: 2; }
.case-study__photo-zoom .site-arrow { width: 9px; height: calc(9px * 15 / 14); }
.project-photo-viewer-open { overflow: hidden; }
@media (min-width: 768px) {
    .case-study__intro h1 { font-size: clamp(36px, 3.2vw, 52px); }
}
.project-lightbox { box-sizing: border-box; inset: 0; width: 100%; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 20px 32px; border: 0; background: rgb(10 10 11 / 97%); color: #fff; overflow: hidden; }
.project-lightbox[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto auto; gap: 14px; }
.project-lightbox::backdrop { background: #000; }
.project-lightbox__toolbar { display: flex; align-items: center; justify-content: space-between; }
.project-lightbox__counter { color: #aaa; font-size: 14px; letter-spacing: 2px; }
.project-lightbox button { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; padding: 0; border: 1px solid #48484b; border-radius: 50%; background: #202022; color: #fff; cursor: pointer; font-size: 23px; }
.project-lightbox button:focus-visible { color: #c1e52e; border-color: #c1e52e; outline: none; }
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.project-lightbox button:hover { color: #c1e52e; border-color: #c1e52e; outline: none; }
}
.project-lightbox__stage { position: relative; display: grid; place-items: center; min-height: 0; padding-inline: 60px; touch-action: pan-y pinch-zoom; }
.project-lightbox__photo { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; min-width: 0; min-height: 0; border-radius: 20px; object-fit: contain; object-position: center; }
.project-lightbox__previous, .project-lightbox__next { position: absolute; top: 50%; transform: translateY(-50%); z-index: 1; }
.project-lightbox__previous { left: 0; }
.project-lightbox__next { right: 0; }
.project-lightbox__caption { margin: 0; text-align: center; color: #ccc; font-size: 14px; line-height: 1.5; }
.project-lightbox__thumbnails { position: relative; display: flex; gap: 10px; width: max-content; max-width: 100%; margin-inline: auto; padding: 3px 3px 8px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #c1e52e #202022; overscroll-behavior-x: contain; }
.project-lightbox__thumbnails button { width: 76px; height: 62px; border-radius: 10px; overflow: hidden; opacity: .55; transition: opacity .2s, border-color .2s; }
.project-lightbox__thumbnails button[aria-pressed="true"] { opacity: 1; border: 2px solid #c1e52e; }
.project-lightbox__thumbnails img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.project-lightbox [hidden] { display: none; }
@media (max-width: 767px) {
    .project-lightbox { padding: 12px; }
    .project-lightbox[open] { gap: 10px; }
    .project-lightbox__stage { padding-inline: 0; }
    .project-lightbox__photo { border-radius: 12px; }
    .project-lightbox__previous, .project-lightbox__next { top: auto; bottom: 8px; transform: none; background: rgb(20 20 22 / 85%); }
    .project-lightbox__caption { font-size: 12px; }
    .project-lightbox__thumbnails button { width: 60px; height: 50px; }
}
@media (prefers-reduced-motion: reduce) {
    .project-lightbox__thumbnails button { transition: none; }
}
.portfolio-featured > button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
}
.portfolio-featured > button .site-arrow {
    width: 10px;
    height: calc(10px * 15 / 14);
}
.portfolio-featured > button,
.portfolio-pagination nav button,
.case-study__navigation-arrow,
.project-lightbox button {
    transition: color .3s ease, border-color .3s ease, background-color .3s ease, opacity .3s ease;
}
@media (prefers-reduced-motion: reduce) {
    .portfolio-featured > button,
    .portfolio-pagination nav button,
    .case-study__navigation-arrow,
    .project-lightbox button { transition: none; }
}

.portfolio-load-more { cursor: pointer; transition: background-color .3s ease, filter .3s ease, transform .3s ease, box-shadow .3s ease; }
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.portfolio-load-more:not(:disabled):hover { background-color: #d0ed52; transform: translateY(-2px); box-shadow: 0 5px 18px rgb(193 229 46 / 18%); }
}
.portfolio-load-more:focus-visible { outline: 2px solid #c1e52e; outline-offset: 4px; }
.portfolio-load-more:disabled { cursor: progress; }
.portfolio-load-more__dots { display: inline-flex; align-items: center; gap: 4px; height: 12px; }
.portfolio-load-more__dots > span { width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.portfolio-load-more.is-loading .portfolio-load-more__dots > span { animation: portfolio-dot-wave .6s ease-in-out infinite; }
.portfolio-load-more.is-loading .portfolio-load-more__dots > span:nth-child(2) { animation-delay: .12s; }
.portfolio-load-more.is-loading .portfolio-load-more__dots > span:nth-child(3) { animation-delay: .24s; }
@keyframes portfolio-dot-wave { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@media (prefers-reduced-motion: reduce) {
    .portfolio-load-more { transition: none; }
    @media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
    .portfolio-load-more:not(:disabled):hover { transform: none; }
    }
    .portfolio-load-more.is-loading .portfolio-load-more__dots > span { animation: none; opacity: .5; }
}

@media (min-width: 768px) {
    .footer-main-grid { grid-template-columns: minmax(0, calc((100% - 6rem) / 3)) minmax(0, 1fr) max-content; }
}
.about-page .hero-title { font-size: clamp(36px, 3.2vw, 52px); }
.about-page .section-title { font-size: clamp(28px, 2.6vw, 42px); }
.about-intro h2 { max-width: 15ch; }
.about-intro__copy p { margin-bottom: 18px; }
.about-intro__copy .btn-primary { margin-top: 8px; }
.about-stats { border: 0; padding: 12px 0 0; gap: 20px; }
.about-stats > div { border: 0; padding: 26px 30px; background: #1c1c1e; border-radius: 20px; }
.about-stats strong { font-size: clamp(32px, 3vw, 44px); }
.about-story { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; padding: 40px; border-radius: 24px; background: #1c1c1e; }
.about-story > div { min-width: 0; }
.about-story__copy { color: #bfbfc3; font-size: 16px; line-height: 1.8; }
.about-story__copy p + p { margin-top: 18px; }
.about-value__number { margin-bottom: 28px; }
.about-work__actions { display: flex; align-items: center; gap: 24px; }
.about-work__arrows { display: flex; gap: 12px; }
.about-work__arrows button { width: 44px; height: 44px; border: 1px solid #626267; border-radius: 50%; color: #aaa; cursor: pointer; transition: color .3s ease, border-color .3s ease, background-color .3s ease, opacity .3s ease; }
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.about-work__arrows button:not(:disabled):hover { border-color: #c1e52e; color: #c1e52e; background: #1c1c1e; }
}
.about-work__arrows button:disabled { opacity: .3; cursor: default; }
.about-work__window { overflow: hidden; }
.about-work__window:focus-visible, .about-work__arrows button:focus-visible { outline: 2px solid #c1e52e; outline-offset: 4px; }
.about-work__track { display: flex; gap: 24px; transition: transform .4s ease; }
.about-work__slide { min-width: 0; flex: 0 0 calc((100% - 48px) / 3); }
.portfolio-list-card__image > img { object-position: center top; }
@media (max-width: 1199px) { .about-work__slide { flex-basis: calc((100% - 24px) / 2); } }
@media (max-width: 767px) {
    .about-page .hero-title { font-size: 36px; }
    .about-page .section-title { font-size: 28px; }
    .about-story { grid-template-columns: 1fr; gap: 24px; padding: 24px; border-radius: 20px; }
    .about-stats { gap: 12px; }
    .about-stats > div { padding: 22px; }
    .about-stats > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .about-work__slide { flex-basis: 100%; }
    .about-work__actions { width: 100%; justify-content: space-between; gap: 12px; }
    .about-work__actions .btn-primary { font-size: 11px; padding-inline: 18px; }
    .about-intro h2 { max-width: none; }
}
@media (prefers-reduced-motion: reduce) { .about-work__track, .about-work__arrows button { transition: none; } }
.blog-slider-dot { width:28px; height:28px; background:transparent; display:grid; place-items:center; }
.blog-slider-dot::before { content:""; width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.3); transition:background .3s; }
.blog-slider-dot--active { background:transparent; }
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.blog-slider-dot:hover { background:transparent; }
}
@media (hover: hover) and (pointer: fine) {
    @media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
    .blog-slider-dot:not(.blog-slider-dot--active):hover::before { background:rgba(255,255,255,.6); }
    }
}
.blog-slider-dot--active::before { background:#B1D600; }
.blog-slider-dot:focus-visible { outline:2px solid #B1D600; outline-offset:2px; }
.blog-slider-dots { gap:0; margin-top:20px; flex-wrap:wrap; }
.blog-slider-track { touch-action:pan-y; }

@media (width < 1024px) {
    .site-header .header-compact-controls .header-mobile-phone {
        font-size: clamp(14px, 4vw, 17px);
        line-height: 1.25;
        white-space: nowrap;
    }
}
.footer-address > a { margin-top: 20px; }
@media (max-width: 767px) {
    .footer-address > a {
        margin-top: 4px;
    }
    .blog-section > .site-container {
        padding-inline: 16px;
    }
    .blog-section .blog-card-body {
        padding-bottom: 0;
    }
    .blog-section .blog-card-title {
        margin-bottom: 0;
    }
    .blog-section .blog-slider-dots {
        margin-top: 12px;
    }
    .brand-strip__item {
        width: 144px;
        padding-inline: 16px;
    }
    .brand-strip__item img {
        width: 112px;
        height: 42px;
    }
    .service-row {
        row-gap: 8px;
        align-items: start;
    }
    .service-desc {
        grid-column: 2;
        text-align: left;
        font-size: 18px;
        line-height: 1.7;
        color: #BFBFC3;
    }
    .site-header .header-inner {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) 44px;
        height: auto;
        padding-block: 10px;
        gap: 8px;
    }
    .header-compact-controls {
        display: contents;
    }
    .header-inner > a {
        grid-column: 1;
        grid-row: 1;
    }
    .site-header .header-inner > a img {
        width: clamp(110px, 34vw, 148px);
        height: auto;
    }
    .header-compact-controls .burger-btn {
        grid-column: 3;
        grid-row: 1;
    }
    .site-header .header-compact-controls .header-mobile-phone {
        grid-column: 2;
        grid-row: 1;
        justify-self: end;
    }
    .home-orbit {
        width: min(100%, 360px);
        margin-inline: auto;
    }
    .blog-slider-dot {
        width: 24px;
    }
    .blog-slider-dot::before {
        width: 6px;
        height: 6px;
    }
    .site-container,
    .about-shell,
    .event-container,
    .case-study__container {
        padding-inline: 16px;
    }
    .site-footer {
        text-align: center;
    }
    .site-footer > .site-container {
        padding-block: 40px;
    }
    .footer-main-grid {
        gap: 36px;
    }
    .footer-main-grid > div,
    .footer-main-grid > div > .flex {
        align-items: center;
    }
    .footer-logo {
        width: 160px;
        height: 42px;
        object-fit: contain;
    }
    .site-footer .text-sm {
        font-size: 16px;
        line-height: 1.6;
    }
    .site-footer .footer-main-grid nav a {
        font-size: 18px;
    }
    .footer-main-grid nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 24px;
        width: 100%;
        align-items: center;
    }
    .footer-main-grid h3 {
        margin-bottom: 0;
    }
    .footer-phone {
        font-size: 22px;
    }
    .footer-socials,
    .footer-legal-links {
        justify-content: center;
        flex-wrap: wrap;
    }
    .footer-legal-links {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }
}
.portfolio-card { aspect-ratio: 5 / 4; }
.portfolio-card--wide { aspect-ratio: 16 / 10; }
@media(max-width:640px) { .home-project-slider .blog-slider-slide { flex-basis:100%; } }


.portfolio-filters button { font-weight: 500; }
.vacancies-filter { font-weight: 500; }


@media (max-width: 767px) {
    .home-orbit {
        width: min(100%, 300px);
    }
    .home-orbit .circle-text-wrapper {
        width: 140px !important;
        height: 140px !important;
    }
    .home-orbit .circle-text-svg text { font-size: 12px; letter-spacing: 2px; }
    .home-orbit__logo {
        width: 96px !important;
        height: 96px !important;
    }
    .home-orbit__logo img {
        width: 60px !important;
        height: 60px !important;
    }
    .home-orbit > span {
        font-size: 10px;
        padding: 5px 10px;
        letter-spacing: 1px;
        max-width: 42%;
        white-space: normal;
        text-align: center;
        line-height: 1.3;
    }
    .event-orbit {
        max-width: 300px;
    }
    .event-orbit .circle-text-wrapper {
        width: 140px !important;
        height: 140px !important;
    }
    .event-orbit .circle-text-svg text { font-size: 12px; letter-spacing: 2px; }
    .event-orbit__logo {
        width: 96px;
        height: 96px;
    }
    .event-orbit__logo img {
        width: 60px;
        height: 60px;
    }
    .event-orbit__label {
        font-size: 10px;
        padding: 5px 10px;
        letter-spacing: 1px;
    }
}


@media (width < 1024px) {
    .home-hero-orbit,
    .home-orbit,
    .event-orbit,
    .circle-text-wrapper,
    .showreel-loader__orbit { display: none; }
}


@media (max-width: 767px) {
    .home-hero { padding-block: 32px 24px; }
    section[data-animate],
    .article-related,
    .case-study__related { padding-block: 32px; }
    section.blog-section[data-animate] { padding-block: 56px; }
    .about-section { padding-top: 48px; }
    .about-work__below { margin-top: 20px; display: flex; justify-content: center; gap: 12px; }
}


.about-work__below {
    margin-top: 24px;
    display: flex;
    justify-content: center;
    gap: 12px;
}


:root {
    --site-text-body: 16px;
    --site-text-secondary: 16px;
    --site-text-control: 14px;
    --site-text-label: var(--site-text-control);
    --site-text-eyebrow: 14px;
    --site-title-page: clamp(36px, 3.2vw, 52px);
    --site-title-section: clamp(28px, 2.6vw, 42px);
    --site-title-card: 18px;
    --site-title-feature: 28px;
    --site-leading-body: 1.7;
    --site-text-muted: #BFBFC3;
}

body {
    font-family: var(--font-body, 'Onest', sans-serif);
    font-size: var(--site-text-body);
    line-height: var(--site-leading-body);
}

main .about-value:not(.about-value--accent) :is(h3, p) {
    color: var(--site-text-muted);
}

main .section-title, main .service-name, main .service-desc {
    color: #FFFFFF;
}

@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {

main .service-row:hover .service-name, main .service-row:hover .service-desc {
    color: #FFFFFF;
}
}

main p,
main :is(.prose, .hero-subtitle,
    .service-desc, .services-card__description, .service-rich-text,
    .about-story__copy,
    .event-intro, .event-muted, .event-responsibilities__intro,
    .case-study__summary, .article-content, .article-intro__text,
    .faq-answer, .seo-text-block, .vacancy-content,
    .blog-intro-text, .blog-card-excerpt),
main .home-hero .hero-subtitle,
main :is(.about-intro__copy, .about-value) p,
main .event-responsibilities li p,
main .article-content :is(table, td),
main .vacancy-content li,
.consultation-card :is(p, .consultation-subtitle) {
    font-size: var(--site-text-body);
    line-height: var(--site-leading-body);
}

main :is(.hero-title, .about-page .hero-title, .article-title,
    .event-hero h1, .case-study__intro h1, .sitemap-heading h1) {
    font-size: var(--site-title-page);
    line-height: 1.15;
}

main :is(.section-title, .about-page .section-title, .event-page h2,
    .portfolio-page .contact-form-block .section-title,
    .case-study__related-heading h2) {
    font-size: var(--site-title-section);
    line-height: 1.2;
}

main :is(h3, .about-person h3, .about-value h3, .portfolio-list-card h3,
    .blog-card-title, .event-responsibilities h3, .vacancy-title,
    .vacancy-section h3, .faq-question, .service-name,
    .article-content h3, .article-content h4, .seo-text-block h3,
    .service-rich-text h3) {
    font-size: var(--site-title-card);
    line-height: 1.4;
}

main :is(.services-card__title,
    .event-work-placeholder h3, .sitemap-group h2, .article-content h2,
    .prose h2, .seo-text-block h2, .service-rich-text h2),
.consultation-title {
    font-size: var(--site-title-feature);
    line-height: 1.3;
}


main :is(figcaption, .case-study__figure figcaption, .article-content figcaption,
    .project-gallery__caption, .about-person p, .about-stats span,
    .case-study__stat span, .article-sources, .blog-card-author-name,
    .blog-card-author-meta, .contacts-info a[href^="mailto:"], .contacts-phone,
    .sitemap-group li a),
.site-footer .text-sm,
.site-footer .footer-main-grid nav a,
.burger-info-email,
.project-lightbox__caption {
    font-size: var(--site-text-secondary);
    line-height: 1.6;
}


main :is(.uppercase:not(a):not(button), .about-label, .event-eyebrow,
    .case-study__eyebrow, .sitemap-eyebrow, .portfolio-list-card__client,
    .portfolio-list-card__badge, .blog-card-badge, .blog-card-date,
    .article-category, .article-sources h2, .article-content th,
    .vacancy-tags > span, .services-card__tag),
.site-footer h3,
.burger-info-label,
.burger-nav-num,
.burger-lang,
body .site-header .header-phone,
.showreel-loader__title,
.showreel-loader__status,
main :is(.service-num, .service-group-label, .event-step-number,
    .about-value__number, .about-project__caption,
    .case-study__tags, .case-study__placeholder small,
    .sitemap-group__heading > span, .pagination-circle,
    .event-formats__row li, .vacancies-filters > p,
    .blog-card-author-initials),
body .home-orbit > span,
body .event-orbit__label,
body .circle-text-svg text,
body :is(.home-orbit, .event-orbit) .circle-text-svg text {
    font-size: var(--site-text-label);
    line-height: 1.5;
}


body :is(.contact-input, .consultation-input, .vacancies-input) {
    font-family: var(--font-body, 'Onest', sans-serif);
    font-size: var(--site-text-secondary);
    line-height: 1.5;
}

body :is(.btn-primary, .about-work__actions .btn-primary,
    .consultation-submit, .consultation-privacy, .consultation-error,
    .contact-form-block label, .vacancies-form label,
    .contact-file-name, .vacancy-upload input,
    .blog-filter-pill, .portfolio-filters button, .vacancies-filter,
    .event-button, .services-card__link, .about-text-link, .case-study__all,
    .case-study__navigation > a, .case-study__navigation-disabled,
    .breadcrumb-link, .breadcrumb-current),
main :is(a.uppercase, button.uppercase, .contact-form-actions .uppercase) {
    font-size: var(--site-text-control);
    line-height: 1.5;
}

main :is(.about-label, .event-eyebrow, .case-study__eyebrow,
    .sitemap-eyebrow, .uppercase:has(> .label-dot),
    .breadcrumbs .breadcrumb-link, .breadcrumbs .breadcrumb-current),
.consultation-card .uppercase:has(> .label-dot) {
    font-size: var(--site-text-eyebrow);
}

.breadcrumbs {
    align-items: center;
    gap: 10px;
}

.breadcrumbs :is(.breadcrumb-link, .breadcrumb-current) {
    display: inline-flex;
    align-items: center;
    line-height: 1.5;
}

.breadcrumbs svg {
    display: block;
    flex-shrink: 0;
    align-self: center;
}

@media (max-width: 767px) {
    :root {
        --site-text-body: 18px;
        --site-text-eyebrow: 13px;
        --site-title-page: 30px;
        --site-title-section: 28px;
        --site-title-feature: 24px;
    }
    .services-intro {
        padding-bottom: 24px;
    }
    .services-ticker {
        margin-bottom: 0;
        padding-block: 8px;
    }
    .services-ticker .marquee-track {
        display: flex;
        align-items: center;
    }
    .services-cards-section[data-animate] {
        padding-top: 24px;
    }
    
    .breadcrumbs :is(.breadcrumb-link, .breadcrumb-current) {
        display: inline;
        position: relative;
        top: 1px;
    }
    main .breadcrumbs {
        display: block;
        font-size: var(--site-text-eyebrow);
        line-height: 1.8;
        white-space: normal;
    }
    .breadcrumbs svg { display: inline-block; vertical-align: middle; }
    .breadcrumbs .breadcrumb-arrow { margin-inline: 8px; }
    main .breadcrumbs .breadcrumb-current { overflow-wrap: normal; word-break: normal; }
    .breadcrumbs .breadcrumb-link:has(svg) {
        top: 0;
    }
    body .event-orbit__label {
        max-width: 42%;
        white-space: normal;
        text-align: center;
    }
    .event-orbit {
        --orbit-label-offset: clamp(0px, calc(50vw - 158px), 36px);
    }
    .event-orbit .event-orbit__label--1 {
        right: calc(-1 * var(--orbit-label-offset));
    }
    .event-orbit .event-orbit__label--3 {
        left: calc(-1 * var(--orbit-label-offset));
    }
    
    main :is(.btn-primary, .event-button, .case-study__all, a.uppercase),
    .consultation-submit {
        white-space: normal;
        text-align: center;
    }
    .case-study__related-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }
    main .case-study__related-heading .case-study__all {
        flex-shrink: 0;
        white-space: nowrap;
    }
}

main :is(section:not(.article-contact):has(> .site-container > .contact-form-block), .about-contact, .portfolio-page__contact, .case-study__contact, #event-contact) {
    padding-top: 24px;
    padding-bottom: 32px;
}
main :is(section, div):has(+ section:not(.article-contact) > .site-container > .contact-form-block),
main :is(section, div):has(+ :is(.about-contact, .portfolio-page__contact, .case-study__contact, #event-contact)) {
    padding-bottom: 32px;
    margin-bottom: 0;
}
@media (max-width: 767px) {
    main :is(section:not(.article-contact):has(> .site-container > .contact-form-block), .about-contact, .portfolio-page__contact, .case-study__contact, #event-contact) {
        padding-top: 16px;
        padding-bottom: 24px;
    }
    main :is(section, div):has(+ section:not(.article-contact) > .site-container > .contact-form-block),
main :is(section, div):has(+ :is(.about-contact, .portfolio-page__contact, .case-study__contact, #event-contact)) {
        padding-bottom: 24px;
    }
}

main .case-study #project-contact {
    padding-top: 56px;
}
@media (max-width: 767px) {
    main .case-study #project-contact {
        padding-top: 32px;
    }
}


.project-gallery__stage button {
    width: 44px;
    height: 44px;
    border: 1px solid #626267;
    background: #1c1c1e;
    color: #aaa;
    font-size: 22px;
    transition: color .3s ease, border-color .3s ease, background-color .3s ease;
}
@media (min-width: 1025px) and (hover: hover) and (pointer: fine) {
.project-gallery__stage button:hover {
    border-color: #c1e52e;
    color: #c1e52e;
}
}
.project-gallery__stage button:focus-visible {
    outline: 2px solid #c1e52e;
    outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
    .project-gallery__stage button { transition: none; }
}

.header-mobile-phone__icon { display: none; width: 14px; height: 14px; flex-shrink: 0; }
.site-header img[alt="Viber"] { width: 18px; height: 18px; }
.sitemap-group__heading { flex-direction: column; gap: 8px; }
.sitemap-group__heading > span { color: #8E8E93; }
@media (max-width: 767px) {
    .site-header .header-inner { grid-template-columns: minmax(0, 1fr) 44px 44px; gap: 12px; }
    .site-header .header-inner > a img { width: clamp(150px, 44vw, 190px); max-width: 100%; }
    .header-mobile-phone__text { display: none; }
    .site-header .header-compact-controls .header-mobile-phone {
        display: grid; place-items: center; width: 44px; height: 44px;
        border-radius: 50%; background: #C1E52E; color: #1C1C1E;
    }
    .header-mobile-phone__icon { display: block; }
    .portfolio-featured { display: grid; justify-content: center; gap: 20px 12px; padding-inline: 0; }
    .portfolio-featured__window { grid-column: 1 / -1; grid-row: 1; width: 100%; }
    .portfolio-featured { grid-template-columns: minmax(0, 1fr) 44px 44px minmax(0, 1fr); }
    .portfolio-featured__window { grid-column: 1 / -1; }
    .portfolio-featured > button { position: static; transform: none; width: 44px; height: 44px; grid-row: 2; }
    .portfolio-featured__prev { grid-column: 2; }
    .portfolio-featured__next { grid-column: 3; }
    main #event-contact { padding-block: 24px; margin-bottom: 0; }
    #event-contact + section:has(.seo-text-block) { padding-top: 0; }
    .event-section:has(+ #event-contact) { padding-bottom: 0; margin-bottom: 0; }
}

.article-author { font-size: var(--site-text-body); line-height: var(--site-leading-body); }
.article-author > img { width: calc(3lh + 4px); height: calc(3lh + 4px); }

.header-compact-messenger { display: none; flex-shrink: 0; }
@media (500px <= width < 1024px) {
    .header-compact-messenger { display: flex; }
}
@media (500px <= width < 768px) {
    .site-header .header-inner { grid-template-columns: minmax(0, 1fr) repeat(4, 44px); }
    .header-compact-messenger--telegram { grid-column: 3; grid-row: 1; }
    .header-compact-messenger--viber { grid-column: 4; grid-row: 1; }
    .header-compact-controls .burger-btn { grid-column: 5; }
}

@media (max-width: 767px) {
    .site-header .header-inner { gap: 16px; }
    .site-header .header-compact-controls .header-mobile-phone { border: 0; color: #fff; background: #1C1C1E; }
    main .article-header .article-title, main h1.blog-page-title { font-size: calc(var(--site-title-page) - 2px); }
}
