@font-face {
    font-family: "Avante";
    src: local("a_AvanteInt Book"), local("AvanteInt Book");
    font-display: swap;
}

.ma-reviews {
    --reviews-navy: #143f54;
    --reviews-navy-dark: #0c3042;
    --reviews-gold: #c1a467;
    --reviews-ink: #183747;
    --reviews-muted: #687982;
    --reviews-line: #dfe5e7;
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
    overflow: hidden;
    color: var(--reviews-ink);
    background: #fff;
    font-family: "Avante", Arial, sans-serif;
    line-height: 1.5;
}

.ma-reviews *,
.ma-reviews *::before,
.ma-reviews *::after { box-sizing: border-box; }
.ma-reviews [hidden] { display: none !important; }
.ma-reviews img { display: block; max-width: 100%; }
.ma-reviews button,
.ma-reviews input,
.ma-reviews textarea { font: inherit; }
.ma-reviews h1,
.ma-reviews h2,
.ma-reviews p { margin-top: 0; }
.ma-reviews h1,
.ma-reviews h2 { color: var(--reviews-navy); font-weight: 400; line-height: 1.08; }
.ma-reviews h1 { margin-bottom: 26px; font-size: clamp(48px, 5.2vw, 82px); }
.ma-reviews h2 { margin-bottom: 20px; font-size: clamp(34px, 3.3vw, 52px); }

.ma-reviews-container { width: min(100% - 80px, 1460px); margin: 0 auto; }
.ma-reviews-eyebrow { margin-bottom: 14px; color: var(--reviews-gold); font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.ma-reviews-title-line { display: block; width: 72px; height: 2px; margin: -2px 0 26px; background: var(--reviews-gold); }

.ma-reviews-hero {
    min-height: 660px;
    padding: 30px 0 70px;
    background:
        linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.94) 32%, rgba(255,255,255,.46) 55%, rgba(255,255,255,.04) 78%),
        url('/otzyvy/assets/hero.webp') center/cover no-repeat;
}
.ma-reviews-breadcrumbs { display: flex; gap: 9px; margin-bottom: 72px; color: #7a888f; font-size: 13px; }
.ma-reviews-breadcrumbs a { color: inherit; text-decoration: none; }
.ma-reviews-hero__content { width: min(680px, 57%); }
.ma-reviews-hero__lead { max-width: 590px; margin-bottom: 45px; color: #536873; font-size: 20px; }
.ma-reviews-stats { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
.ma-reviews-stats article { display: flex; min-width: 0; gap: 16px; padding: 0 20px; border-left: 1px solid rgba(20,63,84,.18); }
.ma-reviews-stats article:first-child { padding-left: 0; border-left: 0; }
.ma-reviews-stats svg { width: 34px; height: 34px; flex: none; fill: none; stroke: var(--reviews-navy); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.35; }
.ma-reviews-stats strong { display: block; margin-bottom: 3px; color: var(--reviews-navy); font-size: 26px; font-weight: 400; line-height: 1; }
.ma-reviews-stats span { display: block; color: #6e7d84; font-size: 11px; line-height: 1.35; }

.ma-reviews-gallery { padding: 104px 0; background: #fafbfb; }
.ma-reviews-heading { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(280px,.7fr); align-items: end; gap: 70px; margin-bottom: 46px; }
.ma-reviews-heading h2 { margin-bottom: 0; }
.ma-reviews-heading > p { margin-bottom: 5px; color: var(--reviews-muted); }
.ma-reviews-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 30px; }
.ma-review-card { position: relative; width: 100%; padding: 0; overflow: hidden; border: 0; background: #fff; box-shadow: 0 9px 30px rgba(14,48,64,.1); cursor: zoom-in; transition: box-shadow .25s ease, transform .25s ease; }
.ma-review-card:hover { box-shadow: 0 16px 38px rgba(14,48,64,.17); transform: translateY(-5px); }
.ma-review-card img { width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover; }
.ma-review-card > span { position: absolute; right: 18px; bottom: 18px; padding: 9px 13px; background: rgba(255,255,255,.94); color: var(--reviews-navy); font-size: 12px; letter-spacing: .06em; opacity: 0; text-transform: uppercase; transform: translateY(6px); transition: opacity .2s ease, transform .2s ease; }
.ma-review-card:hover > span,
.ma-review-card:focus-visible > span { opacity: 1; transform: none; }
.ma-reviews.has-js .ma-review-card.is-pending { display: none; }
.ma-reviews-more-wrap { display: flex; justify-content: center; margin-top: 48px; }

.ma-reviews-button { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; padding: 15px 29px; border: 1px solid var(--reviews-navy); border-radius: 0; background: transparent; color: var(--reviews-navy); cursor: pointer; font-size: 13px; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; transition: background .2s ease, color .2s ease, transform .2s ease; }
.ma-reviews-button:hover { transform: translateY(-2px); }
.ma-reviews-button--outline:hover,
.ma-reviews-button--navy { background: var(--reviews-navy); color: #fff; }
.ma-reviews-button--navy:hover { background: var(--reviews-navy-dark); }
.ma-reviews-button:disabled { cursor: default; opacity: .6; transform: none; }

.ma-reviews-cta {
    min-height: 420px;
    display: flex;
    align-items: center;
    padding: 75px 0;
    background:
        linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.92) 35%, rgba(255,255,255,.26) 62%, rgba(255,255,255,.03) 100%),
        url('/otzyvy/assets/cta.webp') center/cover no-repeat;
}
.ma-reviews-cta__grid { display: grid; grid-template-columns: minmax(0,690px) auto; align-items: center; justify-content: space-between; gap: 70px; }
.ma-reviews-cta h2 { margin-bottom: 15px; }
.ma-reviews-cta p:not(.ma-reviews-eyebrow) { max-width: 620px; margin-bottom: 0; color: var(--reviews-muted); font-size: 18px; }

.ma-reviews-modal,
.ma-reviews-lightbox { position: fixed; z-index: 10000; inset: 0; display: grid; place-items: center; padding: 24px; }
.ma-reviews-modal__backdrop,
.ma-reviews-lightbox__backdrop { position: absolute; inset: 0; background: rgba(4,25,35,.84); backdrop-filter: blur(4px); }
.ma-reviews-modal__dialog,
.ma-reviews-lightbox__dialog { position: relative; z-index: 1; background: #fff; box-shadow: 0 28px 80px rgba(0,0,0,.35); }
.ma-reviews-modal__dialog { width: min(100%, 600px); max-height: calc(100vh - 48px); padding: 46px; overflow-y: auto; }
.ma-reviews-modal__dialog h2 { margin-bottom: 12px; font-size: 39px; }
.ma-reviews-modal__dialog > p:not(.ma-reviews-eyebrow) { color: var(--reviews-muted); }
.ma-reviews-modal__close,
.ma-reviews-lightbox__close { position: absolute; z-index: 3; top: 13px; right: 15px; width: 42px; height: 42px; padding: 0; border: 0; background: transparent; cursor: pointer; font-size: 34px; line-height: 1; }
.ma-reviews-modal form { display: grid; gap: 13px; margin-top: 27px; }
.ma-reviews-modal form > label:not(.ma-reviews-consent) > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.ma-reviews-modal input:not([type='checkbox']),
.ma-reviews-modal textarea { width: 100%; padding: 15px 17px; border: 1px solid #cdd6d9; border-radius: 0; background: #fff; color: var(--reviews-ink); outline: none; }
.ma-reviews-modal input:focus,
.ma-reviews-modal textarea:focus { border-color: var(--reviews-navy); box-shadow: 0 0 0 2px rgba(20,63,84,.1); }
.ma-reviews-modal textarea { resize: vertical; }
.ma-reviews-modal .ma-reviews-button { width: 100%; }
.ma-reviews-consent { display: flex; align-items: flex-start; gap: 10px; color: var(--reviews-muted); font-size: 12px; }
.ma-reviews-consent input { margin-top: 3px; }
.ma-reviews-consent a { color: var(--reviews-navy); }
.ma-reviews-honeypot { position: absolute !important; left: -9999px !important; }
.ma-reviews-form-status { min-height: 22px; margin: 0; color: #277749; font-size: 14px; }
.ma-reviews-form-status.is-error { color: #a83232; }

.ma-reviews-lightbox__dialog { display: flex; width: min(900px, calc(100vw - 100px)); max-height: calc(100vh - 50px); align-items: center; justify-content: center; background: #f5f3ef; }
.ma-reviews-lightbox__dialog > img { width: auto; max-width: 100%; height: auto; max-height: calc(100vh - 50px); object-fit: contain; }
.ma-reviews-lightbox__close { color: var(--reviews-navy); text-shadow: 0 1px 4px #fff; }
.ma-reviews-lightbox__arrow { position: absolute; z-index: 2; top: 50%; width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgba(255,255,255,.94); color: var(--reviews-navy); cursor: pointer; font-size: 22px; transform: translateY(-50%); box-shadow: 0 6px 18px rgba(10,35,47,.18); }
.ma-reviews-lightbox__arrow--prev { left: 14px; }
.ma-reviews-lightbox__arrow--next { right: 14px; }
body.ma-reviews-overlay-open { overflow: hidden; }

@media (max-width: 1050px) {
    .ma-reviews-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .ma-reviews-heading { grid-template-columns: 1fr; gap: 20px; }
    .ma-reviews-cta__grid { grid-template-columns: 1fr; gap: 30px; }
    .ma-reviews-cta__grid .ma-reviews-button { justify-self: start; }
}

@media (max-width: 760px) {
    .ma-reviews-container { width: min(100% - 36px, 1460px); }
    .ma-reviews-hero {
        min-height: 710px;
        padding-top: 22px;
        background:
            linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(255,255,255,.91) 58%, rgba(255,255,255,.28) 100%),
            url('/otzyvy/assets/hero.webp') 68% center/cover no-repeat;
    }
    .ma-reviews-breadcrumbs { margin-bottom: 65px; }
    .ma-reviews-hero__content { width: 100%; }
    .ma-reviews-hero__lead { font-size: 18px; }
    .ma-reviews-stats { max-width: 580px; }
    .ma-reviews-stats article { gap: 10px; padding: 0 11px; }
    .ma-reviews-stats svg { width: 28px; height: 28px; }
    .ma-reviews-stats strong { font-size: 22px; }
    .ma-reviews-gallery { padding: 72px 0; }
    .ma-reviews-grid { gap: 18px; }
    .ma-reviews-cta {
        min-height: 460px;
        background:
            linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,255,255,.82) 72%, rgba(255,255,255,.35)),
            url('/otzyvy/assets/cta.webp') 70% center/cover no-repeat;
    }
    .ma-reviews-lightbox__dialog { width: calc(100vw - 28px); }
}

@media (max-width: 540px) {
    .ma-reviews h1 { font-size: 43px; }
    .ma-reviews h2 { font-size: 32px; }
    .ma-reviews-hero { min-height: 770px; }
    .ma-reviews-stats { grid-template-columns: 1fr; gap: 0; }
    .ma-reviews-stats article { padding: 14px 0; border-top: 1px solid rgba(20,63,84,.16); border-left: 0; }
    .ma-reviews-stats article:first-child { border-top: 0; }
    .ma-reviews-stats span br { display: none; }
    .ma-reviews-grid { grid-template-columns: 1fr; }
    .ma-reviews-button { width: 100%; }
    .ma-reviews-modal { padding: 10px; }
    .ma-reviews-modal__dialog { max-height: calc(100vh - 20px); padding: 40px 22px 24px; }
    .ma-reviews-modal__dialog h2 { font-size: 31px; }
    .ma-reviews-lightbox { padding: 0; }
    .ma-reviews-lightbox__dialog { width: 100vw; max-height: 100vh; }
    .ma-reviews-lightbox__dialog > img { max-height: 100vh; }
    .ma-reviews-lightbox__arrow { width: 40px; height: 40px; }
    .ma-reviews-lightbox__arrow--prev { left: 7px; }
    .ma-reviews-lightbox__arrow--next { right: 7px; }
}

@media (prefers-reduced-motion: reduce) {
    .ma-reviews *,
    .ma-reviews *::before,
    .ma-reviews *::after { scroll-behavior: auto !important; transition: none !important; }
}
