:root {
  --cv-black: #0a0a0d;
  --cv-white: #fff;
  --cv-muted: #696a75;
  --cv-border: #e9eaf0;
  --cv-surface: #f7f8fc;
  --cv-purple: #6d27d9;
  --cv-blue: #118af2;
  --cv-pink: #ef3f72;
  --cv-orange: #ff8756;
  --cv-gradient: linear-gradient(100deg, #6d16b7 0%, #4438de 45%, #0798f5 100%);
  --cv-gradient-text: linear-gradient(90deg, #4339dc 0%, #8f37d7 45%, #ff5a48 100%);
  --cv-shadow: 0 14px 44px rgba(27, 29, 50, .08);
  --cv-radius: 16px;
  --cv-container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--cv-black); background: var(--cv-white); font-family: Gotham, Arial, sans-serif; font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.cv-container { width: min(calc(100% - 40px), var(--cv-container)); margin-inline: auto; }
.cv-section { padding: 82px 0; }
.cv-section--compact { padding: 24px 0 58px; }
.cv-section--surface { background: linear-gradient(180deg, #fbfbfe, #fff); }
.cv-section--archive { padding-top: 22px; }
.cv-grid { display: grid; gap: 22px; }
.cv-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.cv-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cv-eyebrow { margin: 0 0 12px; color: #7044df; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.cv-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.cv-section-heading h2 { margin: 0; font-size: clamp(30px, 3vw, 44px); line-height: 1.05; letter-spacing: -.04em; }
.cv-text-link { display: inline-flex; align-items: center; gap: 12px; color: #5236d8; font-weight: 700; }
.cv-text-link span { transition: transform .25s ease; }
.cv-text-link:hover span { transform: translateX(5px); }
.cv-button { min-height: 52px; padding: 0 28px; display: inline-flex; align-items: center; justify-content: center; gap: 24px; border: 1px solid transparent; border-radius: 4px; color: #fff; background: linear-gradient(100deg, #6932d7, #0b8ff3); font-weight: 700; box-shadow: 0 12px 28px rgba(70, 73, 220, .2); transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease; }
.cv-button:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(70, 73, 220, .28); }
.cv-button--small { min-height: 44px; padding: 0 20px; font-size: 13px; }
.cv-button--outline { color: var(--cv-black); background: #fff; border-color: #8b55e9; box-shadow: none; }
.cv-button--glass { border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.08); box-shadow: none; backdrop-filter: blur(10px); }
.screen-reader-text { position: absolute!important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed!important; left: 16px; top: 16px; z-index: 9999; width: auto; height: auto; padding: 10px 14px; clip: auto; background: #fff; }

/* Contacts and native Complex V contact form. */
.cv-contacts__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin-bottom: 38px; }
.cv-contacts__item { min-width: 0; min-height: 218px; padding: 28px; display: flex; flex-direction: column; align-items: flex-start; gap: 13px; border: 1px solid var(--cv-border); border-radius: 10px; background: #fff; box-shadow: 0 9px 30px rgba(25,27,42,.035); }
.cv-contacts__icon { color: #6844ed; font-size: 22px; line-height: 1; }
.cv-contacts__item h2 { margin: 4px 0 0; font-size: 16px; line-height: 1.35; }
.cv-contacts__item p { margin: 0; color: #555762; font-size: 15px; line-height: 1.65; overflow-wrap: anywhere; }
.cv-contacts__item a:hover { color: #5d3cdb; text-decoration: underline; }
.cv-contact-form-section { position: relative; margin-bottom: 38px; padding: 44px; overflow: hidden; border: 1px solid rgba(105,50,215,.12); border-radius: 16px; background: radial-gradient(circle at 100% 0, rgba(17,138,242,.09), transparent 34%), linear-gradient(135deg, #fbfaff, #f7f9ff); }
.cv-contact-form-section__intro { max-width: 690px; margin-bottom: 28px; }
.cv-contact-form-section__intro h2 { margin: 0 0 10px; font-size: clamp(28px, 3vw, 40px); line-height: 1.08; letter-spacing: -.035em; }
.cv-contact-form-section__intro > p:last-child { margin: 0; color: var(--cv-muted); }
.cv-contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 22px; }
.cv-contact-form__field { min-width: 0; }
.cv-contact-form__field--wide, .cv-contact-form__footer { grid-column: 1 / -1; }
.cv-contact-form__field label { display: block; margin-bottom: 8px; font-size: 13px; font-weight: 700; }
.cv-contact-form__field label span { color: #6844ed; }
.cv-contact-form input[type="text"], .cv-contact-form input[type="tel"], .cv-contact-form textarea { width: 100%; min-height: 52px; padding: 13px 16px; border: 1px solid #dfe1eb; border-radius: 6px; outline: 0; color: var(--cv-black); background: #fff; transition: border-color .2s ease, box-shadow .2s ease; }
.cv-contact-form textarea { min-height: 132px; resize: vertical; }
.cv-contact-form input:focus, .cv-contact-form textarea:focus { border-color: #7450dd; box-shadow: 0 0 0 4px rgba(105,50,215,.09); }
.cv-contact-form__footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.cv-contact-form__consent { display: flex; align-items: flex-start; gap: 10px; color: var(--cv-muted); font-size: 12px; cursor: pointer; }
.cv-contact-form__consent input { width: 17px; height: 17px; margin-top: 1px; accent-color: #6737d9; }
.cv-contact-form__trap { position: absolute!important; left: -10000px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }
.cv-form-notice { margin: 0 0 22px; padding: 14px 16px; border-radius: 6px; font-size: 14px; }
.cv-form-notice--success { color: #17623b; border: 1px solid #a8dfc2; background: #eefaf3; }
.cv-form-notice--error { color: #8a2630; border: 1px solid #efb9bf; background: #fff1f2; }
.cv-contacts__map { width: 100%; overflow: hidden; border-radius: 12px; line-height: 0; }
.cv-contacts__map iframe { display: block; width: 100%; height: 420px; border: 0; }

@media (max-width: 1050px) {
  .cv-contacts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .cv-contacts__grid { grid-template-columns: 1fr; gap: 16px; margin-bottom: 28px; }
  .cv-contacts__item { min-height: 0; padding: 22px; }
  .cv-contact-form-section { margin-bottom: 28px; padding: 28px 20px; }
  .cv-contact-form { grid-template-columns: 1fr; gap: 17px; }
  .cv-contact-form__field--wide, .cv-contact-form__footer { grid-column: auto; }
  .cv-contact-form__footer { align-items: stretch; flex-direction: column; }
  .cv-contact-form__footer .cv-button { width: 100%; }
  .cv-contacts__map iframe { height: 300px; }
}

.site-header { position: sticky; top: 0; z-index: 1000; background: rgba(255,255,255,.92); border-bottom: 1px solid rgba(232,233,239,.8); backdrop-filter: blur(16px); }
.site-header__inner { min-height: 88px; display: grid; grid-template-columns: 190px 1fr auto; align-items: center; gap: 32px; }
.custom-logo { width: 190px; height: auto; max-width: 100%; max-height: none; object-fit: contain; }
.site-branding__text { display: inline-flex; flex-direction: column; line-height: 1; }
.site-branding__name { font-size: 34px; font-weight: 700; letter-spacing: -.06em; }
.site-branding__dot { color: #8241db; }
.site-branding small { margin-top: 6px; font-size: 6px; letter-spacing: -.02em; }
.site-nav__list { margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; gap: 28px; list-style: none; }
.site-nav a { position: relative; font-size: 13px; font-weight: 500; }
.site-nav .current-menu-item > a::after, .site-nav a:hover::after { content: ""; position: absolute; left: 0; right: 0; bottom: -12px; height: 2px; background: linear-gradient(90deg, #6738dc, #1d8cf2); }
.site-header__actions { display: flex; align-items: center; gap: 20px; }
.site-header__phone { font-size: 13px; font-weight: 700; white-space: nowrap; }
.nav-toggle { display: none; width: 44px; height: 44px; padding: 10px; border: 0; background: transparent; }
.nav-toggle span:not(.screen-reader-text) { display: block; height: 2px; margin: 5px 0; background: var(--cv-black); transition: transform .2s ease, opacity .2s ease; }

.hero-slider { position: relative; overflow: hidden; background: radial-gradient(circle at 15% 20%, rgba(98,65,220,.06), transparent 32%), #fff; }
.hero-slider__track { position: relative; min-height: 630px; }
.hero-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(2%); transition: opacity .65s ease, transform .65s ease, visibility .65s; }
.hero-slide.is-active { position: relative; opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.hero-slide__grid { min-height: 630px; display: grid; grid-template-columns: .95fr 1.35fr; align-items: center; gap: 50px; }
.hero-slide__content { padding: 80px 0; }
.hero-slide__title { margin: 0 0 28px; font-size: var(--cv-hero-title-size, 64px); line-height: 1.02; letter-spacing: -.055em; }
.hero-slide__title span { display: block; background: var(--cv-gradient-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-slide__text { max-width: 560px; color: #4f505b; font-size: clamp(17px, 1.6vw, 21px); }
.hero-slide__text p { margin: 0; }
.hero-slide__buttons { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 34px; }
.hero-slide__media { position: relative; min-height: 520px; display: flex; align-items: center; justify-content: center; overflow: visible; }
.hero-slide__media::before { content: ""; position: absolute; inset: 24px 0 24px 8%; border-radius: 90px 24px 90px 90px; background: linear-gradient(145deg, rgba(116,42,217,.18), rgba(15,143,242,.08)); transform: rotate(2deg); }
.hero-slide__media img, .hero-slide__media video { position: relative; width: 100%; height: 520px; object-fit: cover; border-radius: 80px 18px 80px 80px; box-shadow: var(--cv-shadow); }
.hero-slider__controls { position: absolute; left: 50%; bottom: 24px; z-index: 4; display: flex; align-items: center; justify-content: center; gap: 12px; transform: translateX(-50%); pointer-events: none; }
.hero-slider__controls button { pointer-events: auto; width: 38px; height: 38px; border: 1px solid var(--cv-border); border-radius: 50%; background: rgba(255,255,255,.9); }
.hero-slider__dots { display: flex; gap: 8px; pointer-events: auto; }
.hero-slider__dots button { width: 8px; height: 8px; padding: 0; border: 0; background: #d7d8df; }
.hero-slider__dots button.is-active { width: 24px; border-radius: 99px; background: linear-gradient(90deg, #6738dc, #1d8cf2); }

.cv-bubbles { pointer-events: none; }
.cv-bubbles i { position: absolute; display: block; border-radius: 50%; background: linear-gradient(145deg, #ffc166 0%, #eb4d79 45%, #7121c4 80%); box-shadow: 0 12px 32px rgba(91,34,177,.18); animation: cvFloat 6s ease-in-out infinite alternate; }
.cv-bubbles--hero i:nth-child(1) { width: 66px; height: 66px; left: 9%; bottom: 4%; }
.cv-bubbles--hero i:nth-child(2) { width: 92px; height: 92px; left: 20%; bottom: 1%; animation-delay: -.8s; }
.cv-bubbles--hero i:nth-child(3) { width: 36px; height: 36px; left: 34%; bottom: 3%; background: linear-gradient(145deg, #00d4ff, #3747e8 62%, #7021c6); animation-delay: -1.7s; }
@keyframes cvFloat { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(0,-14px,0) scale(1.04); } }

.cv-benefits { position: relative; z-index: 5; margin-top: -8px; }
.cv-benefits__grid { display: grid; grid-template-columns: repeat(4, 1fr); background: #fff; border: 1px solid var(--cv-border); border-radius: 8px; box-shadow: var(--cv-shadow); }
.cv-benefit { min-height: 126px; padding: 26px; display: flex; align-items: center; gap: 18px; }
.cv-benefit + .cv-benefit { border-left: 1px solid var(--cv-border); }
.cv-benefit__icon { width: 42px; height: 42px; flex: 0 0 42px; object-fit: contain; }
.cv-benefit h2 { margin: 0 0 5px; font-size: 15px; }
.cv-benefit p { margin: 0; color: var(--cv-muted); font-size: 13px; }

.project-card, .service-card, .cv-content-card { background: #fff; border: 1px solid var(--cv-border); border-radius: 8px; box-shadow: 0 9px 30px rgba(25,27,42,.045); overflow: hidden; }
.project-card, .service-card { transition: transform .25s ease, box-shadow .25s ease; }
.project-card:hover, .service-card:hover { transform: translateY(-5px); box-shadow: var(--cv-shadow); }
.project-card__image, .service-card__image { position: relative; display: block; aspect-ratio: 1.35 / 1; overflow: hidden; background: #eeeef4; }
.project-card__image img, .service-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.project-card:hover img, .service-card:hover img { transform: scale(1.035); }
.project-card__placeholder, .service-card__placeholder { display: block; width: 100%; min-height: 220px; background: linear-gradient(135deg, #ececf5, #f8f8fb); }
.project-card__label { position: absolute; left: 14px; bottom: 0; padding: 7px 12px; color: #6635da; background: #fff; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.project-card__body, .service-card__body { padding: 20px; }
.project-card h3, .service-card h3 { margin: 0 0 9px; font-size: 19px; line-height: 1.25; }
.project-card p, .service-card p { color: var(--cv-muted); font-size: 13px; }
.project-card__meta { margin: 0; }
.service-card__icon { width: 52px; height: 52px; margin: -46px 0 12px; position: relative; display: grid; place-items: center; border-radius: 50%; color: #713be1; background: #fff; border: 1px solid var(--cv-border); box-shadow: 0 8px 20px rgba(30,28,50,.12); }
.service-card ul { margin: 18px 0; padding: 0; list-style: none; }
.service-card li { position: relative; margin: 7px 0; padding-left: 20px; color: #656672; font-size: 13px; }
.service-card li::before { content: "✓"; position: absolute; left: 0; color: #6a42df; }

.cv-process__grid { margin-top: 22px; display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px dashed #d9d9e5; }
.cv-process__grid article { position: relative; padding: 28px 22px 0 0; }
.cv-process__grid article::before { content: ""; position: absolute; top: -5px; left: 0; width: 10px; height: 10px; border-radius: 50%; background: #6738dc; }
.cv-process__grid span { color: #6a3ede; font-size: 15px; font-weight: 700; }
.cv-process__grid h2 { margin: 14px 0 8px; font-size: 16px; }
.cv-process__grid p { margin: 0; color: var(--cv-muted); font-size: 13px; }

.cv-cta { min-height: 250px; position: relative; padding: 42px 64px 42px 215px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); grid-template-areas: "content features"; align-items: center; gap: 68px; overflow: hidden; color: #fff; border-radius: 16px; background: var(--cv-gradient); }
.cv-cta__content { position: relative; z-index: 2; grid-area: content; align-self: center; }
.cv-cta h2 { margin: 0 0 8px; font-size: clamp(27px, 3vw, 40px); line-height: 1.12; }
.cv-cta p { max-width: 520px; margin: 0 0 22px; color: rgba(255,255,255,.82); }
.cv-cta__features { position: relative; z-index: 2; grid-area: features; align-self: center; margin: 0; padding: 0; display: grid; gap: 20px; list-style: none; font-size: 17px; font-weight: 500; }
.cv-cta__features li { display: flex; align-items: center; gap: 16px; }
.cv-cta__features img { width: 32px; height: 32px; flex: 0 0 32px; object-fit: contain; filter: brightness(0) invert(1); }
.cv-bubbles--cta i:nth-child(1) { width: 52px; height: 52px; left: 55px; top: 55px; }
.cv-bubbles--cta i:nth-child(2) { width: 72px; height: 72px; left: 105px; top: 24px; animation-delay: -.7s; }
.cv-bubbles--cta i:nth-child(3) { width: 90px; height: 90px; left: 110px; top: 105px; animation-delay: -1.5s; }
.cv-bubbles--cta i:nth-child(4) { width: 38px; height: 38px; left: 62px; bottom: 33px; background: linear-gradient(145deg, #00d9ff, #263ee9 60%, #7327c1); animation-delay: -2.3s; }

.archive-hero { padding: 70px 0 38px; background: radial-gradient(circle at 73% 20%, rgba(74,74,220,.055), transparent 28%); }
.archive-hero__grid { min-height: 260px; display: grid; grid-template-columns: 1.5fr .8fr; align-items: center; gap: 80px; }
.archive-hero h1, .single-project-hero h1, .single-service-hero h1 { margin: 0 0 24px; font-size: clamp(48px, 6vw, 76px); line-height: 1; letter-spacing: -.055em; }
.archive-hero p { max-width: 720px; color: #555661; font-size: 18px; }
.cv-breadcrumbs { margin: 0 0 20px!important; color: #a0a0ab!important; font-size: 12px!important; }
.cv-bubbles--archive { position: relative; min-height: 230px; }
.cv-bubbles--archive i:nth-child(1) { width: 64px; height: 64px; left: 10%; top: 30%; }
.cv-bubbles--archive i:nth-child(2) { width: 90px; height: 90px; left: 50%; top: 2%; animation-delay: -.8s; }
.cv-bubbles--archive i:nth-child(3) { width: 105px; height: 105px; left: 56%; top: 48%; animation-delay: -1.6s; }
.cv-bubbles--archive i:nth-child(4) { width: 45px; height: 45px; left: 25%; top: 67%; background: linear-gradient(145deg, #00d9ff, #293de8 60%, #7327c1); animation-delay: -2s; }
.project-toolbar { margin-bottom: 34px; display: flex; justify-content: space-between; gap: 20px; }
.project-filters { display: flex; flex-wrap: wrap; gap: 12px; }
.project-filters button, .project-sort select { min-height: 46px; padding: 0 20px; border: 1px solid var(--cv-border); border-radius: 5px; color: #1b1b20; background: #fff; box-shadow: 0 6px 18px rgba(24,25,38,.04); font-size: 13px; font-weight: 600; }
.project-filters button.is-active { color: #fff; border-color: transparent; background: linear-gradient(100deg, #6737d9, #0a8df1); }
.project-status { min-height: 28px; margin-top: 18px; color: var(--cv-muted); }
.project-status.is-loading { color: #5e37d8; }
.project-load-more { display: flex; justify-content: center; margin-top: 34px; }
.project-load-more.is-hidden { display: none; }
.cv-button--load-more { min-width: 220px; }
.cv-button--load-more:disabled { cursor: wait; opacity: .72; transform: none; }
.cv-button--load-more[aria-disabled="true"] { cursor: wait; opacity: .72; pointer-events: none; transform: none; }
.project-card--new { opacity: 0; transform: translateY(14px); }
.project-card--new.is-visible { opacity: 1; transform: none; transition: opacity .38s ease, transform .38s ease; }


.single-project-hero, .single-service-hero { padding: 46px 0 24px; }
.single-project-hero__grid, .single-service-hero__grid { display: grid; grid-template-columns: .9fr 1.4fr; align-items: center; gap: 50px; }
.single-project-hero__image img, .single-service-hero__image img { width: 100%; max-height: 590px; object-fit: cover; border-radius: 28px 70px 28px 70px; }
.single-project-hero__excerpt { color: #575862; font-size: 18px; }
.single-project-hero__meta { margin: 26px 0; display: flex; flex-wrap: wrap; gap: 26px; color: #686974; font-size: 14px; }
.cv-content-card { padding: clamp(28px, 5vw, 70px); }
.entry-content { font-size: 17px; }
.entry-content > * { max-width: 860px; margin-left: auto; margin-right: auto; }
.entry-content .alignwide { max-width: 1120px; }
.entry-content .alignfull { max-width: none; }

.site-footer { margin-top: 60px; padding: 52px 0; border-top: 1px solid var(--cv-border); background: #fff; }
.site-footer__grid { display: grid; grid-template-columns: 1.4fr .75fr .8fr 1fr; gap: 60px; }
.site-footer__title { margin: 0 0 18px; color: #6940d9; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
.site-footer__menu { margin: 0; padding: 0; display: grid; gap: 8px; list-style: none; color: #4e4f59; font-size: 13px; }
.site-footer__copyright { margin-top: 24px; color: #a0a0aa; font-size: 12px; }
.site-footer__socials { display: flex; gap: 12px; margin-top: 24px; }
.site-footer__socials a { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: #f2f2f5; font-weight: 700; }

@media (max-width: 1100px) {
  .hero-slide__title { font-size: min(var(--cv-hero-title-size, 64px), 58px); }
  .site-header__inner { grid-template-columns: 170px auto 1fr; }
  .nav-toggle { display: block; justify-self: end; order: 3; }
  .site-nav { position: fixed; left: 20px; right: 20px; top: 78px; padding: 24px; opacity: 0; visibility: hidden; transform: translateY(-10px); background: #fff; border: 1px solid var(--cv-border); border-radius: 12px; box-shadow: var(--cv-shadow); transition: .2s ease; }
  .site-nav.is-open { opacity: 1; visibility: visible; transform: none; }
  .site-nav__list { flex-direction: column; align-items: flex-start; gap: 18px; }
  .site-header__actions { justify-self: center; }
  .site-header__actions .cv-button { display: none; }
  .cv-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cv-benefits__grid { grid-template-columns: repeat(2, 1fr); }
  .cv-benefit:nth-child(3) { border-left: 0; border-top: 1px solid var(--cv-border); }
  .cv-benefit:nth-child(4) { border-top: 1px solid var(--cv-border); }
  .cv-process__grid { grid-template-columns: repeat(3, 1fr); row-gap: 30px; }
  .cv-cta { padding-left: 180px; gap: 40px; }
}

@media (max-width: 820px) {
  .cv-container { width: min(calc(100% - 28px), var(--cv-container)); }
  .cv-section { padding: 62px 0; }
  .site-header__inner { min-height: 74px; grid-template-columns: 1fr auto; }
  .site-header__actions { display: none; }
  .site-branding__name { font-size: 29px; }
  .hero-slider__track { min-height: auto; }
  .hero-slide__grid { min-height: 0; grid-template-columns: 1fr; gap: 0; }
  .hero-slide__content { padding: 55px 0 30px; }
  .hero-slide__title { font-size: clamp(42px, 12vw, 62px); }
  .hero-slide__media { min-height: 360px; padding-bottom: 58px; }
  .hero-slide__media img, .hero-slide__media video { height: 360px; border-radius: 45px 12px 45px 45px; }
  .hero-slider__controls { bottom: 14px; }
  .cv-benefits { margin-top: 12px; }
  .cv-benefits__grid { grid-template-columns: 1fr; }
  .cv-benefit + .cv-benefit { border-left: 0; border-top: 1px solid var(--cv-border); }
  .cv-section-heading { align-items: flex-start; }
  .cv-process__grid { grid-template-columns: 1fr 1fr; }
  .cv-cta { padding: 170px 28px 36px; grid-template-columns: 1fr; grid-template-areas: "content" "features"; gap: 34px; }
  .cv-bubbles--cta i:nth-child(1) { left: 32px; top: 42px; }
  .cv-bubbles--cta i:nth-child(2) { left: 92px; top: 22px; }
  .cv-bubbles--cta i:nth-child(3) { left: 116px; top: 92px; }
  .cv-bubbles--cta i:nth-child(4) { left: 38px; top: 120px; }
  .archive-hero__grid, .single-project-hero__grid, .single-service-hero__grid { grid-template-columns: 1fr; gap: 26px; }
  .cv-bubbles--archive { display: none; }
  .archive-hero { padding-top: 48px; }
  .project-toolbar { align-items: stretch; flex-direction: column; }
  .project-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 8px; }
  .project-filters button { flex: 0 0 auto; }
  .project-sort select { width: 100%; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .cv-grid--4, .cv-grid--3 { grid-template-columns: 1fr; }
  .cv-section-heading { display: grid; }
  .cv-section-heading h2 { font-size: 34px; }
  .hero-slide__buttons { display: grid; }
  .cv-button { width: 100%; }
  .cv-process__grid { grid-template-columns: 1fr; }
  .archive-hero h1, .single-project-hero h1, .single-service-hero h1 { font-size: 44px; }
  .site-footer__grid { grid-template-columns: 1fr; gap: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms!important; animation-iteration-count: 1!important; transition-duration: .01ms!important; }
}

/* Equipment brands */
.archive-hero--equipment { background: radial-gradient(circle at 74% 28%, rgba(109,39,217,.07), transparent 31%), radial-gradient(circle at 91% 70%, rgba(17,138,242,.05), transparent 24%); }
.brand-grid { align-items: start; }
.brand-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid var(--cv-border); border-radius: 10px; box-shadow: 0 9px 30px rgba(25,27,42,.045); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.brand-card:hover { transform: translateY(-5px); border-color: rgba(100,58,218,.25); box-shadow: var(--cv-shadow); }
.brand-card--featured { border-color: rgba(104,55,220,.28); }
.brand-card--featured::before { content: "Рекомендовано"; position: absolute; z-index: 2; margin: 12px; padding: 5px 9px; border-radius: 99px; color: #fff; background: linear-gradient(100deg, #6737d9, #0a8df1); font-size: 9px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.brand-card__logo { min-height: 190px; padding: 34px 28px; display: grid; place-items: center; background: linear-gradient(145deg, #fff, #f8f8fc); border-bottom: 1px solid var(--cv-border); }
.brand-card__logo img { width: 100%; height: 120px; object-fit: contain; filter: saturate(.95); transition: transform .35s ease; }
.brand-card:hover .brand-card__logo img { transform: scale(1.035); }
.brand-card__placeholder { color: #2b2b34; font-size: 22px; font-weight: 700; text-align: center; }
.brand-card__body { padding: 22px; }
.brand-card__direction { margin: 0 0 8px; color: #7044df; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.brand-card h2 { margin: 0 0 10px; font-size: 21px; line-height: 1.2; }
.brand-card__body > p:not(.brand-card__direction) { min-height: 62px; margin: 0 0 18px; color: var(--cv-muted); font-size: 13px; }
.brand-card__data { display: none; }
.brand-card--new { opacity: 0; transform: translateY(14px); }
.brand-card--new.is-visible { opacity: 1; transform: none; transition: opacity .38s ease, transform .38s ease; }

.brand-detail-panel { grid-column: 1 / -1; position: relative; margin: 8px 0 14px; padding: 44px; overflow: hidden; border: 1px solid rgba(101,62,217,.15); border-radius: 16px; background: radial-gradient(circle at 0 0, rgba(111,45,217,.09), transparent 28%), linear-gradient(135deg, #fff, #f8f9ff); box-shadow: var(--cv-shadow); opacity: 0; transform: translateY(12px); transition: opacity .28s ease, transform .28s ease; }
.brand-detail-panel.is-visible { opacity: 1; transform: none; }
.brand-detail-panel[hidden] { display: none; }
.brand-detail-panel__close { position: absolute; z-index: 5; top: 16px; right: 18px; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--cv-border); border-radius: 50%; color: #4a4a54; background: #fff; font-size: 24px; line-height: 1; }
.brand-detail-panel__grid { display: grid; grid-template-columns: minmax(250px, .75fr) minmax(0, 1.4fr); gap: 48px; align-items: start; }
.brand-detail-panel__visual { display: grid; gap: 18px; }
.brand-detail-panel__logo { min-height: 185px; padding: 35px; display: grid; place-items: center; border: 1px solid var(--cv-border); border-radius: 12px; background: #fff; }
.brand-detail-panel__logo img { width: 100%; height: 125px; object-fit: contain; }
.brand-detail-panel__image[hidden] { display: none; }
.brand-detail-panel__image img { width: 100%; max-height: 260px; object-fit: cover; border-radius: 12px; }
.brand-detail-panel__content h2 { margin: 0 0 8px; font-size: clamp(30px, 4vw, 48px); line-height: 1.05; letter-spacing: -.04em; }
.brand-detail-panel__country { margin: 0 0 18px; color: #777884; font-size: 13px; }
.brand-detail-panel__description { color: #50515c; }
.brand-detail-panel__description > :first-child { margin-top: 0; }
.brand-detail-panel__description > :last-child { margin-bottom: 0; }
.brand-detail-panel__solutions { margin-top: 24px; }
.brand-detail-panel__solutions[hidden] { display: none; }
.brand-detail-panel__solutions h3, .brand-detail-panel__projects h3 { margin: 0 0 13px; font-size: 16px; }
.brand-detail-panel__solutions ul { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px 18px; list-style: none; }
.brand-detail-panel__solutions li { position: relative; padding-left: 20px; color: #5e5f69; font-size: 13px; }
.brand-detail-panel__solutions li::before { content: "✓"; position: absolute; left: 0; color: #6b3edf; font-weight: 700; }
.brand-detail-panel__actions { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px; }
.brand-detail-panel__actions .cv-button { min-height: 46px; padding-inline: 20px; font-size: 13px; }
.brand-detail-panel__projects { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--cv-border); }
.brand-detail-panel__projects[hidden] { display: none; }
.brand-detail-panel__projects-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.brand-panel-project { overflow: hidden; border: 1px solid var(--cv-border); border-radius: 9px; background: #fff; }
.brand-panel-project img { width: 100%; aspect-ratio: 1.5 / 1; object-fit: cover; }
.brand-panel-project span { display: block; padding: 12px; font-size: 12px; font-weight: 700; line-height: 1.3; }

/* Single equipment brand */
.single-brand-hero { padding: 62px 0 30px; background: radial-gradient(circle at 75% 25%, rgba(106,52,218,.06), transparent 28%); }
.single-brand-hero__grid { min-height: 510px; display: grid; grid-template-columns: minmax(0, .95fr) minmax(420px, 1.05fr); align-items: center; gap: 65px; }
.single-brand-hero h1 { margin: 0 0 22px; font-size: clamp(48px, 6vw, 76px); line-height: 1; letter-spacing: -.055em; }
.single-brand-hero__excerpt { max-width: 620px; color: #555661; font-size: 18px; }
.single-brand-hero__country { margin: 18px 0 0; color: #777884; font-size: 14px; }
.single-brand-hero__actions { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 14px; }
.single-brand-hero__logo { min-height: 390px; padding: 70px; display: grid; place-items: center; border: 1px solid var(--cv-border); border-radius: 28px 70px 28px 70px; background: #fff; box-shadow: var(--cv-shadow); }
.single-brand-hero__logo img { width: 100%; max-height: 210px; object-fit: contain; }
.single-brand-hero__logo span { font-size: 34px; font-weight: 700; text-align: center; }
.single-brand-content__grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr); gap: 30px; align-items: start; }
.single-brand-sidebar { display: grid; gap: 22px; }
.single-brand-sidebar__card { padding: 30px; border: 1px solid var(--cv-border); border-radius: 12px; background: linear-gradient(145deg, #fff, #f8f8fc); box-shadow: 0 9px 30px rgba(25,27,42,.045); }
.single-brand-sidebar__card h2 { margin: 0 0 18px; font-size: 21px; }
.single-brand-sidebar__card ul { margin: 0; padding: 0; display: grid; gap: 11px; list-style: none; }
.single-brand-sidebar__card li { position: relative; padding-left: 22px; color: #5e5f69; font-size: 14px; }
.single-brand-sidebar__card li::before { content: "✓"; position: absolute; left: 0; color: #6b3edf; font-weight: 700; }
.single-brand-sidebar__image { width: 100%; border-radius: 12px; box-shadow: var(--cv-shadow); }
.brand-project-mini { overflow: hidden; border: 1px solid var(--cv-border); border-radius: 9px; background: #fff; box-shadow: 0 9px 30px rgba(25,27,42,.045); }
.brand-project-mini img { width: 100%; aspect-ratio: 1.45 / 1; object-fit: cover; }
.brand-project-mini h3 { margin: 0; padding: 16px; font-size: 15px; line-height: 1.3; }
.brand-project-mini__placeholder { display:block; width:100%; aspect-ratio:1.45/1; background:linear-gradient(135deg,#ececf5,#f8f8fb); }
.brand-project-mini--new { opacity:0; transform:translateY(14px); }
.brand-project-mini--new.is-visible { opacity:1; transform:none; transition:opacity .38s ease,transform .38s ease; }
.brand-related-projects .project-status { margin-top:18px; text-align:center; }

/* Brands shown on a project page */
.project-brands { padding: 12px 0 58px; }
.project-brands__inner { padding: 34px; display: grid; grid-template-columns: 260px 1fr; gap: 36px; align-items: center; border: 1px solid var(--cv-border); border-radius: 12px; background: linear-gradient(145deg, #fff, #fafaff); box-shadow: 0 9px 30px rgba(25,27,42,.045); }
.project-brands h2 { margin: 0; font-size: 28px; }
.project-brands__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.project-brand-logo { min-height: 92px; padding: 18px; display: grid; place-items: center; border: 1px solid var(--cv-border); border-radius: 8px; background: #fff; font-size: 13px; font-weight: 700; text-align: center; }
.project-brand-logo img { width: 100%; height: 55px; object-fit: contain; }

@media (max-width: 1100px) {
  .brand-detail-panel__projects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .single-brand-hero__grid { grid-template-columns: 1fr 1fr; gap: 38px; }
  .single-brand-hero__logo { min-height: 330px; padding: 45px; }
  .single-brand-content__grid { grid-template-columns: 1fr; }
  .project-brands__inner { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  .brand-detail-panel { padding: 34px 24px; }
  .brand-detail-panel__grid { grid-template-columns: 1fr; gap: 28px; }
  .brand-detail-panel__visual { grid-template-columns: 1fr 1fr; }
  .brand-detail-panel__solutions ul { grid-template-columns: 1fr; }
  .single-brand-hero__grid { min-height: 0; grid-template-columns: 1fr; }
  .single-brand-hero__logo { order: -1; min-height: 280px; padding: 45px; }
  .project-brands__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .brand-card__body > p:not(.brand-card__direction) { min-height: 0; }
  .brand-detail-panel__visual { grid-template-columns: 1fr; }
  .brand-detail-panel__projects-grid { grid-template-columns: 1fr; }
  .brand-detail-panel__actions { display: grid; }
  .single-brand-hero h1 { font-size: 44px; }
  .single-brand-hero__actions { display: grid; }
  .project-brands__grid { grid-template-columns: 1fr 1fr; }
  .project-brand-logo { min-height: 78px; padding: 12px; }
}

/* Blog archive */
.blog-hero { padding: 78px 0 58px; overflow: hidden; background: radial-gradient(circle at 82% 10%, rgba(17,138,242,.09), transparent 30%), radial-gradient(circle at 68% 92%, rgba(109,39,217,.09), transparent 28%), linear-gradient(180deg, #fbfbfe, #fff); }
.blog-hero__inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .7fr); align-items: end; gap: 70px; }
.blog-hero h1 { margin: 0; font-size: clamp(50px, 7vw, 82px); line-height: .95; letter-spacing: -.06em; }
.blog-hero__inner > p { max-width: 570px; margin: 0 0 4px; color: #575862; font-size: 18px; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: stretch; }
.blog-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; border: 1px solid var(--cv-border); border-radius: 12px; background: #fff; box-shadow: 0 9px 30px rgba(25,27,42,.045); transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.blog-card:hover { transform: translateY(-5px); border-color: rgba(105,50,215,.22); box-shadow: var(--cv-shadow); }
.blog-card__media { display: block; overflow: hidden; aspect-ratio: 1.55 / 1; background: #f1f2f7; }
.blog-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.blog-card:hover .blog-card__media img { transform: scale(1.035); }
.blog-card__placeholder { width: 100%; height: 100%; display: grid; place-items: center; background: radial-gradient(circle at 75% 25%, rgba(17,138,242,.14), transparent 29%), linear-gradient(145deg, #f9f7ff, #eef5fd); }
.blog-card__placeholder > span { color: #16161a; font-size: 34px; font-weight: 700; letter-spacing: -.06em; }
.blog-card__placeholder > span span { color: #7141df; }
.blog-card__body { flex: 1; padding: 24px; display: flex; flex-direction: column; align-items: flex-start; }
.blog-card__meta { margin-bottom: 14px; display: flex; flex-wrap: wrap; gap: 8px 14px; color: #7a7b85; font-size: 11px; font-weight: 600; }
.blog-card__meta span:first-child { color: #6639db; text-transform: uppercase; letter-spacing: .045em; }
.blog-card h2 { margin: 0 0 12px; font-size: 22px; line-height: 1.2; letter-spacing: -.025em; }
.blog-card__body > p { margin: 0 0 22px; color: var(--cv-muted); font-size: 14px; }
.blog-card__body .cv-text-link { margin-top: auto; font-size: 13px; }
.blog-card--featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr); min-height: 440px; }
.blog-card--featured .blog-card__media { height: 100%; aspect-ratio: auto; }
.blog-card--featured .blog-card__body { padding: clamp(34px, 5vw, 62px); justify-content: center; }
.blog-card--featured h2 { font-size: clamp(30px, 3.4vw, 48px); line-height: 1.06; }
.blog-card--featured .blog-card__body > p { font-size: 16px; }
.blog-pagination { margin-top: 44px; }
.blog-pagination .nav-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; }
.blog-pagination .page-numbers { min-width: 44px; min-height: 44px; padding: 0 13px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--cv-border); border-radius: 5px; background: #fff; font-size: 13px; font-weight: 700; }
.blog-pagination .page-numbers.current, .blog-pagination a.page-numbers:hover { color: #fff; border-color: transparent; background: linear-gradient(100deg, #6932d7, #0b8ff3); }
.blog-pagination .prev, .blog-pagination .next { gap: 6px; }
.blog-empty { padding: 70px; border: 1px solid var(--cv-border); border-radius: 14px; text-align: center; background: linear-gradient(145deg, #fff, #f8f9ff); }
.blog-empty h2 { margin: 0 0 12px; font-size: 36px; }
.blog-empty > p:last-child { margin: 0; color: var(--cv-muted); }

/* Single blog post */
.single-post-hero { padding: 68px 0 46px; background: radial-gradient(circle at 80% 15%, rgba(109,39,217,.07), transparent 30%), linear-gradient(180deg, #fbfbfe, #fff); }
.single-post-hero__inner { max-width: 980px; }
.single-post-hero__back { display: inline-flex; margin-bottom: 42px; color: #5c3bd9; font-size: 13px; font-weight: 700; }
.single-post-hero__meta { margin-bottom: 18px; display: flex; flex-wrap: wrap; gap: 10px 22px; color: #777884; font-size: 12px; font-weight: 600; }
.single-post-hero__meta span:first-child { color: #653bdb; text-transform: uppercase; letter-spacing: .05em; }
.single-post-hero h1 { max-width: 950px; margin: 0; font-size: clamp(42px, 6vw, 72px); line-height: 1; letter-spacing: -.052em; }
.single-post-hero__excerpt { max-width: 760px; margin: 25px 0 0; color: #565762; font-size: 19px; }
.single-post-cover { max-height: 680px; overflow: hidden; border-radius: 22px 64px 22px 64px; box-shadow: var(--cv-shadow); }
.single-post-cover img { width: 100%; max-height: 680px; object-fit: cover; }
.single-post-content { padding-top: 42px; }
.single-post-content .entry-content { line-height: 1.75; }
.single-post-content .entry-content h2 { margin-top: 1.6em; font-size: clamp(28px, 3vw, 38px); line-height: 1.18; }
.single-post-content .entry-content h3 { margin-top: 1.5em; font-size: 24px; }
.single-post-content .entry-content a { color: #5937d6; text-decoration: underline; }
.single-post-content .entry-content blockquote { padding: 24px 28px; border-left: 4px solid #6d3bdd; border-radius: 0 10px 10px 0; background: #f8f7fd; font-size: 19px; }
.single-post-content .entry-content img { height: auto; border-radius: 10px; }
.blog-grid--related .blog-card { grid-column: auto; display: flex; min-height: 0; }
.blog-grid--related .blog-card__media { height: auto; aspect-ratio: 1.55 / 1; }
.blog-grid--related .blog-card__body { padding: 24px; }
.blog-grid--related .blog-card h2 { font-size: 22px; }

@media (max-width: 920px) {
  .blog-hero__inner { grid-template-columns: 1fr; gap: 24px; }
  .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .blog-card--featured { grid-column: 1 / -1; grid-template-columns: 1fr; }
  .blog-card--featured .blog-card__media { min-height: 360px; aspect-ratio: 1.8 / 1; }
  .blog-grid--related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .blog-hero { padding: 54px 0 38px; }
  .blog-hero h1 { font-size: 52px; }
  .blog-hero__inner > p { font-size: 16px; }
  .blog-grid, .blog-grid--related { grid-template-columns: 1fr; }
  .blog-card--featured { display: flex; min-height: 0; }
  .blog-card--featured .blog-card__media { min-height: 0; aspect-ratio: 1.45 / 1; }
  .blog-card--featured .blog-card__body { padding: 24px; }
  .blog-card--featured h2 { font-size: 28px; }
  .blog-pagination .prev span, .blog-pagination .next span { display: none; }
  .blog-empty { padding: 45px 22px; }
  .single-post-hero { padding: 48px 0 32px; }
  .single-post-hero__back { margin-bottom: 28px; }
  .single-post-hero h1 { font-size: 42px; }
  .single-post-hero__excerpt { font-size: 17px; }
  .single-post-cover { width: calc(100% - 40px); border-radius: 14px 38px 14px 38px; }
}

/* About Complex */
.about-hero { padding: 70px 0 62px; overflow: hidden; background: radial-gradient(circle at 88% 12%, rgba(17,138,242,.09), transparent 30%), radial-gradient(circle at 58% 100%, rgba(109,39,217,.08), transparent 28%), #fff; }
.about-hero__grid { min-height: 570px; display: grid; grid-template-columns: minmax(0,.9fr) minmax(460px,1.1fr); align-items: center; gap: 62px; }
.about-hero h1 { margin: 0 0 24px; font-size: clamp(48px,5.5vw,74px); line-height: .98; letter-spacing: -.055em; }
.about-hero__content > p:not(.cv-eyebrow) { max-width: 650px; color: #555661; font-size: 18px; }
.about-hero__actions { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 14px; }
.about-hero__video { position: relative; overflow: hidden; aspect-ratio: 16/10; border-radius: 70px 20px 70px 20px; background: #111; box-shadow: var(--cv-shadow); }
.about-hero__video iframe,.about-hero__video > img { width: 100%; height: 100%; border: 0; object-fit: cover; }
.about-hero__video-placeholder { height: 100%; display: grid; place-content: center; gap: 10px; color: #fff; text-align: center; background: var(--cv-gradient); }
.about-hero__video-placeholder > span { font-size: 52px; font-weight: 700; letter-spacing: -.06em; }.about-hero__video-placeholder > span span { color: #ff8756; }
.about-intro__grid { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 75px; align-items: start; }
.about-intro h2,.about-process h2 { margin: 0; font-size: clamp(34px,4vw,52px); line-height: 1.05; letter-spacing: -.045em; }
.about-intro__text { color: #555661; font-size: 17px; }.about-intro__text p:first-child { margin-top: 0; }
.about-facts { margin-top: 42px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--cv-border); border-radius: 12px; background: #fff; box-shadow: var(--cv-shadow); }
.about-facts > div { min-width:0; min-height:112px; padding:22px 24px; display:flex; align-items:center; gap:16px; }.about-facts > div + div { border-left: 1px solid var(--cv-border); }
.about-facts__icon { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border-radius:11px; color:#6840df; background:linear-gradient(145deg,rgba(109,39,217,.11),rgba(17,138,242,.09)); }.about-facts__icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.about-facts__copy { min-width:0; display:flex; flex-direction:column; }.about-facts strong { font-size:18px; line-height:1.2; }.about-facts__copy > span { margin-top:5px; color:var(--cv-muted); font-size:12px; line-height:1.35; }
.about-process h2 { margin-bottom: 38px; }.about-process__grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border-top: 1px solid var(--cv-border); }
.about-process__grid article { position: relative; padding: 30px 25px 10px 0; }.about-process__grid article::before { content:""; position:absolute; top:-5px; left:0; width:10px; height:10px; border-radius:50%; background:#6939dc; box-shadow:0 0 0 6px #f0ebff; }
.about-process__grid span { color:#6a3ddb; font-size:12px; font-weight:700; }.about-process__grid h3 { margin:12px 0 8px; font-size:19px; }.about-process__grid p { margin:0; color:var(--cv-muted); font-size:13px; }
.about-brands__heading,.about-team__heading { margin-bottom:34px; display:grid; grid-template-columns:1fr minmax(320px,.7fr); align-items:end; gap:60px; }.about-brands__heading h2,.about-team__heading h2 { margin:0; font-size:clamp(34px,4vw,52px); line-height:1.05; letter-spacing:-.045em; }.about-brands__heading > p,.about-team__heading > p { margin:0; color:var(--cv-muted); }
.about-brands__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }.about-brand { min-height:140px; padding:28px; display:grid; place-items:center; border:1px solid var(--cv-border); border-radius:10px; background:#fff; transition:.25s ease; }.about-brand:hover { transform:translateY(-4px); border-color:rgba(105,50,215,.25); box-shadow:var(--cv-shadow); }.about-brand img { width:100%; height:74px; object-fit:contain; }.about-brands__link { margin-top:28px; }
.about-recognition__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }.about-recognition__grid article { padding:30px; border:1px solid var(--cv-border); border-radius:12px; background:#fff; }.about-recognition__grid strong { color:#653cda; font-size:22px; }.about-recognition__grid p { margin:12px 0 0; color:var(--cv-muted); font-size:14px; }
.about-team__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }.team-card { min-width:0; }.team-card__photo { overflow:hidden; aspect-ratio:4/5; border-radius:14px 40px 14px 14px; background:linear-gradient(145deg,#edeaf8,#f5f7fd); }.team-card__photo img { width:100%; height:100%; object-fit:cover; object-position:center top; transition:transform .4s ease; }.team-card:hover img { transform:scale(1.025); }.team-card__photo > span { height:100%; display:grid; place-items:center; color:#6a3edc; font-size:72px; font-weight:700; }.team-card h3 { margin:16px 0 4px; font-size:18px; }.team-card p { margin:0; color:var(--cv-muted); font-size:13px; }
.about-foundation__card { padding:48px; display:grid; grid-template-columns:minmax(250px,.65fr) minmax(0,1.35fr); align-items:center; gap:65px; border:1px solid var(--cv-border); border-radius:18px; background:#fff; box-shadow:var(--cv-shadow); }.about-foundation__logo { padding:35px; border-radius:12px; background:#111; }.about-foundation__logo img { width:100%; height:auto; }.about-foundation h2 { margin:0 0 15px; font-size:clamp(30px,3.5vw,46px); line-height:1.08; }.about-foundation p:not(.cv-eyebrow) { color:var(--cv-muted); }.about-foundation .cv-button { margin-top:16px; }
@media(max-width:1050px){.about-hero__grid{grid-template-columns:1fr 1fr;gap:36px}.about-facts,.about-recognition__grid,.about-team__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-facts>div:nth-child(3){border-left:0;border-top:1px solid var(--cv-border)}.about-facts>div:nth-child(4){border-top:1px solid var(--cv-border)}.about-process__grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:26px}.about-brands__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.about-hero{padding:48px 0}.about-hero__grid,.about-intro__grid,.about-brands__heading,.about-team__heading,.about-foundation__card{min-height:0;grid-template-columns:1fr;gap:30px}.about-hero__video{order:-1;border-radius:42px 14px 42px 14px}.about-hero h1{font-size:46px}.about-process__grid{grid-template-columns:1fr;border-top:0}.about-process__grid article{padding:5px 0 22px 38px}.about-process__grid article::before{top:9px}.about-brands__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-foundation__card{padding:28px}.about-foundation__logo{padding:25px}}
@media(max-width:520px){.about-hero__actions{display:grid}.about-facts,.about-recognition__grid,.about-team__grid{grid-template-columns:1fr}.about-facts{margin-top:30px}.about-facts>div{min-height:0;padding:15px 17px;gap:14px}.about-facts>div+div{border-left:0;border-top:1px solid var(--cv-border)}.about-facts__icon{width:38px;height:38px;flex-basis:38px;border-radius:9px}.about-facts__icon svg{width:21px;height:21px}.about-facts strong{font-size:16px}.about-facts__copy>span{margin-top:3px;font-size:11px}.about-brands__grid{grid-template-columns:1fr 1fr}.about-brand{min-height:105px;padding:18px}.about-team__grid{gap:30px}.team-card__photo{aspect-ratio:4/4.8}}

/* Reusable company workflow */
.company-process { overflow:hidden; background:radial-gradient(circle at 8% 22%,rgba(109,39,217,.055),transparent 24%),linear-gradient(180deg,#fff,#fbfbfe); }
.company-process__heading { margin-bottom:34px; display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.55fr); align-items:end; gap:60px; }
.company-process__heading h2 { margin:0; font-size:clamp(34px,4vw,52px); line-height:1.05; letter-spacing:-.045em; }
.company-process__heading>p { max-width:480px; margin:0; color:var(--cv-muted); font-size:15px; }
.company-process__grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; }
.company-process__step { position:relative; min-width:0; min-height:220px; padding:22px; border:1px solid var(--cv-border); border-radius:12px; background:#fff; box-shadow:0 8px 28px rgba(25,27,42,.04); opacity:0; transform:translateY(18px); transition:opacity .45s ease var(--step-delay),transform .45s ease var(--step-delay),border-color .25s ease,box-shadow .25s ease; }
.company-process.is-visible .company-process__step { opacity:1; transform:none; }
.company-process__step:hover { border-color:rgba(105,50,215,.25); box-shadow:var(--cv-shadow); }
.company-process__step:not(:last-child)::after { content:"→"; position:absolute; z-index:3; top:42px; right:-22px; width:28px; height:28px; display:grid; place-items:center; border:1px solid #e1dcf5; border-radius:50%; color:#6940dc; background:#fff; font-size:15px; font-weight:700; box-shadow:0 5px 14px rgba(42,33,88,.09); }
.company-process__top { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.company-process__icon { width:50px; height:50px; display:grid; place-items:center; border-radius:13px; color:#6840df; background:linear-gradient(145deg,rgba(109,39,217,.12),rgba(17,138,242,.09)); }
.company-process__icon svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.company-process__number { color:#7449df; font-size:12px; font-weight:700; letter-spacing:.08em; }
.company-process__step h3 { margin:22px 0 9px; font-size:18px; line-height:1.25; }
.company-process__step p { margin:0; color:var(--cv-muted); font-size:13px; line-height:1.55; }
@media(max-width:1100px){.company-process__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.company-process__step:not(:last-child)::after{display:none}.company-process__step{min-height:205px}}
@media(max-width:760px){.company-process__heading{grid-template-columns:1fr;gap:15px;margin-bottom:28px}.company-process__grid{position:relative;grid-template-columns:1fr;gap:12px;padding-left:18px}.company-process__grid::before{content:"";position:absolute;top:30px;bottom:30px;left:3px;width:2px;background:linear-gradient(#7142df,#1689ed)}.company-process__step{min-height:0;padding:17px 18px 17px 76px;opacity:0;transform:translateX(16px)}.company-process__top{position:absolute;left:14px;top:16px}.company-process__icon{width:45px;height:45px;border-radius:12px}.company-process__icon svg{width:24px;height:24px}.company-process__number{position:absolute;left:-28px;top:14px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#6a3fdd;font-size:9px;box-shadow:0 0 0 5px #f2effc}.company-process__step h3{margin:0 0 5px;font-size:17px}.company-process__step p{font-size:12px}.company-process__step:not(:last-child)::after{content:"↓";display:grid;top:auto;right:auto;left:-26px;bottom:-20px;width:22px;height:22px;font-size:11px}.company-process.is-visible .company-process__step{transform:none}}
@media(max-width:420px){.company-process__grid{padding-left:14px}.company-process__step{padding:15px 14px 15px 68px}.company-process__top{left:12px;top:14px}.company-process__icon{width:41px;height:41px}.company-process__number{left:-25px;top:12px}.company-process__step:not(:last-child)::after{left:-22px}}
@media(prefers-reduced-motion:reduce){.company-process__step{opacity:1;transform:none;transition:none}}
