/* Brand text and Turkish content fitting. The original Webflow grid and motion stay intact. */
.ram-monogram {
    font-family: var(--_typography---font--switzer);
    font-weight: 500;
    color: inherit;
}

.testimonial-logo-image.ram-monogram {
    font-size: 14px;
}

.hero-title-wrapper .display-large {
    font-size: min(var(--_typography---font-size--display-large), 22vw);
}

.hero-title-wrapper .gsap_split_letter-mask {
    /* Give reveal masks room for accents and descenders, including on iOS.
       Matching negative margins keep the original title spacing intact. */
    padding-block: 0.2em;
    margin-block: -0.2em;
}

.ram-contact-anchor {
    height: 0;
}

.footer-logo {
    min-width: 0;
}
.ram-monogram {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    line-height: 1;
    letter-spacing: -1px;
}

.works-card-text > div {
    min-width: 0;
}

[data-unavailable] {
    cursor: default;
}

.ram-contact-form-block {
    margin: 0 0 15px;
}

.service-section .heading-6 {
    text-transform: none;
}

.menu-wrapper:focus-visible,
.link-wrapper:focus-visible,
.works-card:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}

@media screen and (max-width: 767px) {
    .services-card-description-mobile-wrapper {
        width: 100%;
        max-width: 285px;
    }

    /* The sliding panel travels behind the original white navbar surface. */
    .navbar-block::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: 2;
        background-color: var(--white);
        pointer-events: none;
    }

    .navbar-logo-wrapper,
    .menu-wrapper {
        position: relative;
        z-index: 3;
    }
}

@media screen and (max-width: 379px) {
    .hero-title-wrapper .display-large {
        font-size: 68px;
    }
}

@media screen and (min-width: 992px) {
    /* Keep the template's wide/narrow project pair as Turkish metadata wraps. */
    .works-card-wrapper > .w-dyn-list:first-child {
        flex: 1;
        min-width: 0;
    }

    .works-card-wrapper > .collection-list-wrapper {
        width: 40%;
        min-width: 0;
    }
}

/* Fit longer values without changing the five original animation frames. */
.stats-number-count .display-medium {
    font-size: min(var(--_typography---font-size--display-medium), 11vw);
    line-height: var(--_typography---font-size--display-medium);
    flex-shrink: 0;
}
.stats-number-count.third .display-medium {
    font-size: min(var(--_typography---font-size--display-medium), 4.5vw);
}
.title-number-service-card-wrapper { gap: 24px; }
.title-number-service-card-wrapper .heading-6 { min-width: 0; }
.title-number-service-card-wrapper > p { flex-shrink: 0; }
.ram-directions .text-field { display: flex; align-items: center; margin-bottom: 0; }
.ram-directions .submit-button { display: flex; align-items: center; justify-content: center; white-space: nowrap; }
.ram-legal-name { font-size: 14px; line-height: 1.4; }
@media (max-width: 767px) {
    .stats-number-count .display-medium,
    .stats-number-count.third .display-medium {
        font-size: var(--_typography---font-size--display-medium);
    }
}

/* Exact supplied logo, proportionate sizes inside the existing brand slots. */
.navbar-logo-wrapper {
    height: 36px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}
.ram-navbar-logo { width: 200px; height: auto; max-height: 36px; object-fit: contain; }
.footer-logo {
    flex: 1;
    margin-left: 24px;
    height: min(160px, calc((100vw - 420px) / 5.15));
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.ram-footer-logo { width: 100%; max-width: 740px; height: auto; object-fit: contain; }
.ram-service-logo { width: 60px; height: auto; object-fit: contain; }
.services-logo:has(.ram-service-logo) { min-height: 24px; display: flex; align-items: center; flex-shrink: 0; }
@media (max-width: 991px) {
    .footer-logo { width: 100%; height: auto; margin-left: 0; justify-content: flex-start; }
}
@media (max-width: 767px) {
    .ram-navbar-logo { width: 180px; }
}

/* Shared menu surface: mask the closed sliding panel on mobile and tablet. */
@media (max-width: 991px) {
    .navbar-block::before { content: ""; position: absolute; inset: 0; z-index: 2; background: var(--white); pointer-events: none; }
    .navbar-logo-wrapper, .menu-wrapper { position: relative; z-index: 3; }
    .navbar-block:not(.ram-menu-ready) .navbar-popup-wrapper { visibility: hidden; }
}
