@media (max-width: 1200px) {
    .note__inner {
        gap: 2rem;
    }

    .note-heading {
        font-size: clamp(1.9rem, 2.6vw, 2.2rem);
    }

    .philo-big-num {
        font-size: clamp(2.4rem, 3.8vw, 3rem);
    }
}

@media (max-width: 1024px) {
    .offer {
        padding: 80px 28px;
    }

    .offer-inner {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .offer-cta-button {
        width: 100%;
    }
}

@media (max-width: 640px) {
    .offer {
        padding: 64px 16px;
    }

    .offer-heading {
        font-size: clamp(1.7rem, 6.5vw, 2.2rem);
        line-height: 1.1;
    }

    .offer-right-heading {
        font-size: clamp(1.3rem, 5vw, 1.75rem);
    }

    .offer-paragraph,
    .offer-tagline {
        font-size: .95rem;
    }

    .offer-list-items {
        gap: .7rem;
    }

    .offer-item-text {
        font-size: .9rem;
    }

    .offer-focus-list li {
        font-size: 1rem;
    }

    .offer-punchline {
        font-size: 1rem;
    }
}

@media (max-width: 480px) {
    .offer {
        padding: 56px 12px;
    }

    .offer-heading {
        font-size: 2rem;
    }

    .offer-right-heading {
        font-size: 1.2rem;
    }

    .offer-cta-button {
        padding: .95rem 1.2rem;
        width: 100%;
    }
}

@media (max-width: 1024px) {
    .note__inner {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .note__card {
        max-width: 100%;
        padding: 2rem 1.25rem;
        margin: 0;
    }

    .philo__left {
        gap: .8rem;
    }

    .philo-grid {
        gap: .9rem;
    }
}

@media (max-width: 900px) {
    .footer__inner {
        grid-template-columns: 1fr 1fr;
        gap: 1.25rem;
    }

    .portfolio-section {
        padding: 64px 20px;
    }

    .portfolio-top {
        grid-template-columns: 1fr;
        gap: 1.2rem;
        margin-bottom: 1.75rem;
    }

    .port-h2 {
        font-size: clamp(1.9rem, 6vw, 2.6rem);
    }

    .port-desc {
        max-width: 100%;
        margin-left: 0;
    }

    .note {
        padding: 72px 24px;
    }

    .note-heading {
        font-size: clamp(1.85rem, 4.6vw, 2.2rem);
    }

    .note-description {
        line-height: 1.72;
    }

        .contact-card {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .contact-content {
        text-align: left;
    }
}

@media (max-width: 640px) {
        .contact-section {
        padding: 48px 16px;
    }

    .contact-card {
        padding: 0;
        gap: 1rem;
    }

    .contact-heading {
        font-size: clamp(1.6rem, 7vw, 2rem);
    }

    .contact-copy {
        font-size: .92rem;
    }

    .contact-item {
        padding: .9rem 1rem;
        gap: .8rem;
    }

    .contact-icon {
        width: 40px;
        height: 40px;
        font-size: .95rem;
    }
    .footer {
        padding: 2.5rem 16px 1.5rem;
    }

    .footer__inner {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .footer__bottom {
        flex-direction: column;
        gap: .4rem;
    }

    .portfolio-section {
        padding: 54px 16px 48px;
    }

    .port-eyebrow {
        margin-bottom: .75rem;
        font-size: .80rem;
    }

    .port-h2 {
        font-size: clamp(1.7rem, 8vw, 2.25rem);
        line-height: 1.08;
    }

    .port-desc {
        font-size: .92rem;
        line-height: 1.65;
    }

    .logo-card {
        min-width: 116px;
        height: 78px;
        padding: .8rem .75rem;
        border-radius: .9rem;
    }

    .logo-card img {
        max-height: 34px;
    }

    .note {
        padding: 56px 16px;
    }

    .note__card {
        padding: 1.4rem 1rem;
    }

    .note-heading {
        font-size: clamp(1.6rem, 7.2vw, 1.95rem);
        margin-bottom: 1rem;
    }

    .note-sign {
        flex-direction: column;
        align-items: flex-start;
        gap: .8rem;
    }

    .philo-grid {
        grid-template-columns: 1fr;
    }

    .philo-box {
        padding: 1rem .9rem;
    }
}

@media (max-width: 480px) {
        .contact-section {
        padding: 40px 12px;
    }

    .contact-card {
        padding: 0;
    }

    .contact-heading {
        font-size: 1.55rem;
    }

    .contact-copy {
        font-size: .9rem;
    }

    .contact-item {
        align-items: flex-start;
        flex-direction: column;
    }
    .note {
        padding: 48px 12px;
    }

    .note__card {
        padding: 1.2rem .9rem;
    }

    .note-eyebrow {
        font-size: .64rem;
        margin-bottom: 1rem;
    }

    .note-description {
        font-size: .92rem;
    }

    .philo-big-num {
        font-size: 2rem;
    }

    .philo-box-num {
        font-size: 1.6rem;
    }
}

@media (max-width: 900px) {
    .testimonials {
        padding: 3.25rem 24px 2.5rem;
    }

    .testimonials-header {
        margin-bottom: 2.25rem;
        padding-top: 1rem;
    }

    .testimonials-grid {
        grid-template-columns: 1fr;
        max-width: 720px;
        margin: 0 auto;
    }

    .testimonials-title {
        font-size: clamp(1.7rem, 5vw, 2.2rem);
    }

    .booking-card {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .booking-content {
        padding-top: 0;
    }
}

@media (max-width: 640px) {
    .testimonials {
        padding: 2.75rem 16px 2rem;
    }

    .testimonials-header {
        margin-bottom: 1.75rem;
    }

    .testimonials-title {
        font-size: clamp(1.45rem, 7vw, 1.95rem);
        line-height: 1.2;
    }

    .testimonials-subtitle {
        font-size: .88rem;
    }

    .testimonials-card {
        padding: 1.2rem 1rem;
    }

    .testimonials-text {
        font-size: .9rem;
    }

    .booking-section {
        padding: 48px 16px;
    }

    .booking-card {
        padding: 0;
        gap: 1rem;
    }

    .booking-heading {
        font-size: clamp(1.6rem, 7vw, 2rem);
    }

    .booking-copy {
        font-size: .92rem;
    }

    .booking-point {
        font-size: .9rem;
    }

    .booking-embed iframe {
        min-height: 520px;
    }
}

@media (max-width: 480px) {
    .testimonials {
        padding: 2.25rem 12px 1.75rem;
    }

    .testimonials-title {
        font-size: 1.45rem;
    }

    .testimonials-author {
        align-items: flex-start;
    }

    .testimonials-author-name {
        font-size: .8rem;
    }

    .testimonials-author-role {
        font-size: .7rem;
    }

    .testimonials-author-company {
        font-size: .64rem;
    }

    .booking-section {
        padding: 40px 12px;
    }

    .booking-card {
        padding: 0;
    }

    .booking-heading {
        font-size: 1.55rem;
    }

    .booking-copy {
        font-size: .9rem;
    }

    .booking-point {
        font-size: .88rem;
    }

    .booking-embed iframe {
        min-height: 460px;
    }

    .footer {
        padding: 2.25rem 12px 1.25rem;
    }

    .footer__copy {
        font-size: .9rem;
    }
}

@media (min-width: 1024px) {
    .portfolio-top {
        gap: 3rem;
    }

    .port-desc {
        max-width: 390px;
    }
}
