/* =====================================
   Tablet
===================================== */

@media (max-width: 1024px) {
    .legal-page {
        margin-top: -55px;
        padding-top: 8px;
    }

    .site-footer__inner {
        width: 96%;
        padding: 38px 24px 22px;
    }

    .site-footer__content {
        grid-template-columns: minmax(0, 1fr) 145px minmax(0, 1fr);
        gap: 24px;
    }

    .site-footer__column h2 {
        margin-bottom: 16px;
    }

    /* Header */

    .site-header__inner {
        min-height: 180px;
        padding-block: 15px;
    }

    .site-header__logo img {
        max-height: 130px;
    }

    .site-header__graphic img {
        max-height: 100px;
    }

    .site-header__right {
        gap: 5px;
    }

    .site-header__hours {
        min-width: 200px;
    }

    .site-header__date {
        font-size: 18px;
    }

    .site-header__time {
        font-size: 36px;
    }

    .site-header__time span {
        font-size: 30px;
    }

    .site-header__status {
        font-size: 20px;
    }

    /* Hero */

    .hero {
        padding: 5px 0 80px;
    }

    .hero__usp {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;

        margin-bottom: 50px;
    }

    .hero__usp-item {
        max-width: 100%;
        padding: 16px;
    }

    .hero__icon {
        width: 52px;
        height: 52px;
    }

    .hero__icon i {
        font-size: 22px;
    }

    .hero__usp h3 {
        font-size: 18px;
    }

    .hero__usp p {
        font-size: 14px;
        line-height: 1.5;
    }
}

/* =====================================
   About – Tablet
===================================== */

@media (min-width: 768px) and (max-width: 1024px) {
    .hero__about {
        padding: 36px 38px 42px;

        overflow: hidden;

        border: 1px solid rgba(212, 192, 138, .2);
        border-radius: 24px;

        background: rgba(0, 0, 0, .05);

        box-shadow: 0 18px 50px rgba(0, 0, 0, .34);
        backdrop-filter: blur(1.5px);
    }

    .hero__headline {
        position: relative;

        margin-bottom: 38px;
        padding-bottom: 16px;

        font-size: clamp(32px, 4vw, 40px);
        line-height: 1.12;
        text-shadow: 0 3px 16px rgba(0, 0, 0, .65);
    }

    .hero__headline::after {
        content: "";

        position: absolute;
        bottom: 0;
        left: 50%;

        width: 120px;
        height: 2px;

        background: linear-gradient(
            90deg,
            transparent,
            #D4C08A,
            transparent
        );

        transform: translateX(-50%);
    }

    .hero__content {
        grid-template-columns: minmax(260px, 36%) minmax(0, 1fr);
        align-items: center;
        gap: 34px;
    }

    .hero__image {
        overflow: hidden;

        border: 1px solid rgba(212, 192, 138, .4);
        border-radius: 20px;

        background: #050605;

        box-shadow: 0 16px 40px rgba(0, 0, 0, .42);
    }

    .hero__image img {
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }

    .hero__text {
        padding: 30px 32px;

        border: 1px solid rgba(212, 192, 138, .18);
        border-left: 3px solid rgba(212, 192, 138, .68);
        border-radius: 0 18px 18px 0;

        background: rgba(0, 0, 0, .28);

        box-shadow: 0 14px 36px rgba(0, 0, 0, .25);
        backdrop-filter: blur(2.5px);
    }

    .hero__text h3 {
        margin-bottom: 16px;

        color: #E8E4DA;

        font-size: 24px;
        line-height: 1.15;
    }

    .hero__text p {
        color: #F1F1F1;

        font-size: 15px;
        line-height: 1.58;
    }

    .hero__text p + p {
        margin-top: 14px;
    }

    /* Works */

    .works {
        padding: 0 0 90px;
    }

    .works-container {
        padding: 38px 32px 46px;
        border-radius: 24px;
    }

    .works__intro {
        margin-bottom: 42px;
    }

    .works__title {
        margin-bottom: 20px;
        padding-bottom: 16px;

        font-size: clamp(32px, 4vw, 40px);
    }

    .works__subtitle {
        max-width: 820px;

        font-size: 15px;
        line-height: 1.45;
    }

    .works__item--featured {
        width: min(100%, 380px);
        margin-bottom: 52px;
    }

    .works__grid {
        grid-template-rows: repeat(2, auto);
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 29%;
        gap: 18px;

        padding-bottom: 4px;

        overflow-x: auto;
        overscroll-behavior-inline: contain;

        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;

        scrollbar-width: none;
        touch-action: pan-x;
    }

    .works__grid::-webkit-scrollbar {
        display: none;
    }

    .works__grid .works__item,
    .works__grid .works__item:nth-child(5),
    .works__grid .works__item:nth-child(12),
    .works__grid .works__item:nth-last-child(2) {
        grid-column: auto;
        padding: 14px;
        border-radius: 18px;

        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .works__grid .works__item--clone {
        display: flex;
        pointer-events: none;
    }

    .works__instagram {
        margin-top: 46px;
    }

    .works__instagram-link {
        min-height: 46px;
        padding: 10px 24px;

        font-size: 15px;
    }

    /* Studio */
    .studio {
        padding-bottom: 80px;
    }

    .studio-container {
        width: 94%;
        padding: 40px 34px 46px;
    }

    .studio__intro {
        margin-bottom: 36px;
    }

    .studio__title {
        font-size: clamp(30px, 4.5vw, 38px);
    }

    .studio__image--overview {
        width: 100%;
    }

    .studio__heading {
        margin: 46px 0 28px;
        font-size: 27px;
    }

    .studio__details {
        grid-template-columns: minmax(0, 1fr);
        gap: 26px;
        width: min(100%, 760px);
        margin-inline: auto;
    }

    .studio__image--workspace,
    .studio__text {
        width: 100%;
    }

    .studio__text {
        padding: 30px 32px;
    }

    /* Schwerpunkte */
    .specialties {
        padding-bottom: 80px;
    }

    .specialties-container {
        width: 94%;
        padding: 40px 30px 46px;
    }

    .specialties__intro {
        margin-bottom: 34px;
    }

    .specialties__title {
        font-size: clamp(30px, 4.5vw, 38px);
    }

    .specialties__subtitle {
        width: min(100%, 780px);

        font-size: 15px;
        line-height: 1.5;
    }

    .specialties__grid {
        gap: 18px;
    }

    .specialties__grid--services {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .specialties__grid--styles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .specialties__heading {
        margin: 40px 0 26px;

        font-size: 26px;
    }

    .specialties__card {
        min-height: 172px;
        padding: 24px 18px;

        border-radius: 18px;
    }

    .specialties__card i {
        margin-bottom: 12px;

        font-size: 24px;
    }

    .specialties__card h3 {
        margin-bottom: 10px;

        font-size: 19px;
    }

    .specialties__card p {
        font-size: 14px;
        line-height: 1.5;
    }

    /* Bewertungen */
    .reviews {
        padding-bottom: 80px;
    }

    .reviews-container {
        width: 94%;
        padding: 40px 30px 46px;
    }

    .reviews__intro {
        margin-bottom: 32px;
    }

    .reviews__title {
        font-size: clamp(30px, 4.5vw, 38px);
    }

    .reviews__subtitle {
        width: min(100%, 760px);

        font-size: 15px;
        line-height: 1.5;
    }

    .reviews__summary {
        gap: 12px 18px;

        padding: 24px 26px;
    }

    .reviews__stars,
    .reviews__score {
        font-size: 20px;
    }

    .reviews__count {
        font-size: 14px;
    }

    .reviews__carousel {
        grid-auto-columns: 82%;
        gap: 18px;

        margin-top: 26px;
    }

    .reviews__card {
        min-height: 195px;
        padding: 26px 28px;
    }

    .reviews__card blockquote {
        font-size: 16px;
    }

    .reviews__note {
        margin-top: 22px;

        font-size: 13px;
    }

    .reviews__actions {
        gap: 24px;

        margin-top: 26px;
    }

    .reviews__link {
        width: 270px;

        font-size: 14px;
    }
}

@media (min-width: 768px) and (max-width: 860px) {
    .hero__content {
        grid-template-columns: 1fr;
        gap: 28px;
    }

    .hero__image {
        width: 260px;
        margin: 0 auto;
    }

    .hero__text {
        width: 100%;
    }

    .works-container {
        padding-inline: 28px;
    }

    .works__item--featured {
        width: min(100%, 340px);
    }

}

/* =====================================
   Smartphone
===================================== */

@media (max-width: 767px) {
    .legal-page {
        margin-top: 0;
    }

    .site-footer__inner {
        width: 94%;
        padding: 32px 18px 22px;
    }

    .site-footer__content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 14px;
        row-gap: 24px;
    }

    .site-footer__studio,
    .site-footer__creator {
        justify-self: stretch;

        width: 100%;
        max-width: 100%;
    }

    .site-footer__legal-column {
        grid-column: 1 / -1;
        grid-row: 1;
        justify-self: center;
    }

    .site-footer__legal-column ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px 18px;
    }

    .site-footer__studio {
        grid-column: 1;
        grid-row: 2;
    }

    .site-footer__creator {
        grid-column: 2;
        grid-row: 2;
    }

    .site-footer__studio > h2,
    .site-footer__creator > h2 {
        text-align: center;
    }

    .site-footer__studio-row,
    .site-footer__creator-row {
        justify-content: center;

        width: 100%;
        max-width: 100%;
    }

    .site-footer__studio-row address,
    .site-footer__creator-row address {
        min-width: 0;
        width: 100%;
        max-width: 100%;
    }

    .site-footer__creator-row address {
        flex: 1 1 auto;
    }

    .site-footer__column address a,
    .site-footer__creator address > span {
        min-width: 0;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .site-footer__column h2 {
        margin-bottom: 12px;

        font-size: 18px;
    }

    .site-footer__column address a,
    .site-footer__creator address > span {
        font-size: 13px;
    }

    .site-footer__logo,
    .site-footer__creator-logo {
        display: none;
    }

    .site-footer__bottom {
        display: flex;
        flex-direction: column;
        gap: 16px;

        margin-top: 22px;
        padding-top: 20px;

        text-align: center;
    }

    .site-footer__bottom > p,
    .site-footer__bottom > p:last-child {
        text-align: center;
    }

    /* Header */

    .site-header {
        min-height: 100px;
    }

    .site-header__inner {
        min-height: 100px;
        padding-block: 10px;
    }

    .site-header__logo {
        margin-left: -20px;
    }

    .site-header__logo img {
        max-height: 80px;
    }

    .site-header__graphic {
        display: none;
    }

    .site-header__right {
        gap: 0;
        margin-left: auto;
        padding-right: 0;
        transform: translateX(18px);
    }

    .site-header__hours {
        min-width: 70px;
        align-items: center;
        text-align: center;
    }

    .site-header__date {
        font-size: 13px;
    }

    .site-header__time {
        font-size: 28px;
    }

    .site-header__time span {
        font-size: 20px;
    }

    .site-header__status {
        font-size: 17px;
    }

    /* Automatischer USP-Slider */

    .hero {
        padding: 10px 0 60px;
    }

    .hero__usp {
        display: flex;
        gap: 16px;

        margin-bottom: 45px;
        padding-bottom: 4px;

        overflow-x: auto;
        overscroll-behavior-inline: contain;

        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;

        scrollbar-width: none;
        touch-action: pan-x;
    }

    .hero__usp::-webkit-scrollbar {
        display: none;
    }

    .hero__usp-item {
        flex: 0 0 86%;

        width: 86%;
        max-width: none;
        min-height: 210px;

        margin: 0;
        padding: 18px;

        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .works__grid .works__item--clone {
        display: flex;
        pointer-events: none;
    }

    .hero__icon {
        width: 48px;
        height: 48px;
        margin-bottom: 12px;
    }

    .hero__icon i {
        font-size: 20px;
    }

    .hero__usp h3 {
        margin-bottom: 12px;
        font-size: 20px;
    }

    .hero__usp p {
        font-size: 15px;
        line-height: 1.5;
    }

    /* About */

    .hero__about {
        padding: 28px 18px 32px;

        overflow: hidden;

        border: 1px solid rgba(212, 192, 138, .2);
        border-radius: 20px;

        background: rgba(0, 0, 0, .05);

        box-shadow: 0 16px 42px rgba(0, 0, 0, .34);
        backdrop-filter: blur(1.5px);
    }

    .hero__headline {
        position: relative;

        margin-bottom: 28px;
        padding-bottom: 14px;

        font-size: clamp(25px, 8vw, 30px);
        line-height: 1.15;
        text-shadow: 0 3px 14px rgba(0, 0, 0, .65);
    }

    .hero__headline::after {
        content: "";

        position: absolute;
        bottom: 0;
        left: 50%;

        width: 100px;
        height: 2px;

        background: linear-gradient(
            90deg,
            transparent,
            #D4C08A,
            transparent
        );

        transform: translateX(-50%);
    }

    .hero__content {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 24px;
    }

    .hero__image {
        width: min(100%, 290px);
        margin: 0 auto;

        overflow: hidden;

        border: 1px solid rgba(212, 192, 138, .4);
        border-radius: 18px;

        background: #050605;

        box-shadow: 0 14px 34px rgba(0, 0, 0, .42);
    }

    .hero__image img {
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }

    .hero__text {
        padding: 24px 20px;

        border: 1px solid rgba(212, 192, 138, .18);
        border-top: 3px solid rgba(212, 192, 138, .68);
        border-radius: 0 0 16px 16px;

        background: rgba(0, 0, 0, .28);

        box-shadow: 0 12px 30px rgba(0, 0, 0, .24);
        backdrop-filter: blur(2.5px);
    }

    .hero__text h3 {
        margin-bottom: 14px;

        color: #E8E4DA;

        font-size: 22px;
        line-height: 1.2;
    }

    .hero__text p {
        color: #F1F1F1;

        font-size: 15px;
        line-height: 1.6;
    }

    .hero__text p + p {
        margin-top: 14px;
    }

    /* Works */

    .works {
        padding: 0 0 70px;
    }

    .works-container {
        padding: 28px 18px 32px;

        border-radius: 20px;
    }

    .works__intro {
        margin-bottom: 32px;
    }

    .works__title {
        margin-bottom: 16px;
        padding-bottom: 14px;

        font-size: clamp(26px, 8vw, 30px);
    }

    .works__title::after {
        width: 100px;
    }

    .works__subtitle {
        max-width: 100%;

        font-size: 15px;
        line-height: 1.45;
    }

    .works__item--featured {
        width: min(100%, 260px);
        margin-bottom: 34px;
        padding: 10px;

        border-radius: 16px;
    }

    .works__grid {
        grid-template-rows: repeat(2, auto);
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 43%;
        gap: 12px;

        padding-bottom: 4px;

        overflow-x: auto;
        overscroll-behavior-inline: contain;

        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;

        scrollbar-width: none;
        touch-action: pan-x;
    }

    .works__grid::-webkit-scrollbar {
        display: none;
    }

    .works__grid .works__item,
    .works__grid .works__item:nth-child(5),
    .works__grid .works__item:nth-child(12),
    .works__grid .works__item:nth-last-child(2) {
        grid-column: auto;

        padding: 8px;

        border-radius: 14px;

        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .works-lightbox {
        padding: 12px;
    }

    .works-lightbox__close {
        top: 14px;
        right: 14px;

        width: 44px;
        height: 44px;

        font-size: 28px;
    }

    .works__instagram {
        margin-top: 34px;
    }

    .works__instagram-link {
        width: min(100%, 310px);
        min-height: 44px;
        padding: 10px 16px;

        font-size: 14px;
    }

    /* Studio */
    .studio {
        padding-bottom: 60px;
    }

    .studio-container {
        width: 96%;
        padding: 28px 14px 34px;

        border-radius: 20px;
    }

    .studio__intro {
        margin-bottom: 28px;
    }

    .studio__title {
        margin-bottom: 16px;
        padding-bottom: 14px;

        font-size: clamp(25px, 7.5vw, 30px);
        line-height: 1.15;
    }

    .studio__title::after {
        width: 92px;
    }

    .studio__subtitle {
        font-size: 14px;
        line-height: 1.5;
    }

    .studio__image {
        border-radius: 16px;
    }

    .studio__image--overview,
    .studio__image--workspace {
        width: 100%;
        aspect-ratio: 4 / 3;
    }

    .studio__heading {
        margin: 34px 0 24px;

        font-size: 23px;
        line-height: 1.2;
    }

    .studio__details {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
        width: 100%;
    }

    .studio__text {
        width: 100%;
        padding: 22px 18px;

        border-radius: 16px;
    }

    .studio__text p {
        font-size: 14px;
        line-height: 1.6;
    }

    .studio__features {
        gap: 12px;
        margin-top: 22px;
    }

    .studio__features li {
        gap: 10px;

        font-size: 14px;
    }

    /* Schwerpunkte */
    .specialties {
        padding-bottom: 60px;
    }

    .specialties-container {
        width: 96%;
        padding: 28px 14px 34px;

        border-radius: 20px;
    }

    .specialties__intro {
        margin-bottom: 28px;
    }

    .specialties__title {
        margin-bottom: 16px;
        padding-bottom: 14px;

        font-size: clamp(25px, 7.5vw, 30px);
        line-height: 1.15;
    }

    .specialties__title::after {
        width: 92px;
    }

    .specialties__subtitle {
        width: 100%;

        font-size: 14px;
        line-height: 1.5;
    }

    .specialties__grid,
    .specialties__grid--services,
    .specialties__grid--styles {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 82%;
        gap: 14px;

        padding: 1px 2px 5px;

        overflow-x: auto;
        overscroll-behavior-inline: contain;

        scroll-behavior: smooth;
        scroll-snap-type: x mandatory;

        scrollbar-width: none;
        touch-action: pan-x;
    }

    .specialties__grid::-webkit-scrollbar {
        display: none;
    }

    .specialties__heading {
        margin: 34px 0 22px;

        font-size: 23px;
        line-height: 1.2;
    }

    .specialties__card {
        min-height: 184px;
        padding: 24px 18px;

        border-radius: 16px;

        scroll-snap-align: start;
        scroll-snap-stop: always;
    }

    .specialties__card i {
        margin-bottom: 12px;

        font-size: 24px;
    }

    .specialties__card h3 {
        margin-bottom: 10px;

        font-size: 19px;
    }

    .specialties__card p {
        font-size: 14px;
        line-height: 1.5;
    }

    /* Bewertungen */
    .reviews {
        padding-bottom: 60px;
    }

    .reviews-container {
        width: 96%;
        padding: 28px 14px 34px;

        border-radius: 20px;
    }

    .reviews__intro {
        margin-bottom: 26px;
    }

    .reviews__title {
        margin-bottom: 16px;
        padding-bottom: 14px;

        font-size: clamp(25px, 7.5vw, 30px);
        line-height: 1.15;
    }

    .reviews__title::after {
        width: 92px;
    }

    .reviews__subtitle {
        width: 100%;

        font-size: 14px;
        line-height: 1.5;
    }

    .reviews__summary {
        gap: 10px 14px;

        width: 100%;
        padding: 22px 16px;

        border-radius: 16px;
    }

    .reviews__stars {
        gap: 4px;

        font-size: 18px;
    }

    .reviews__score {
        font-size: 19px;
    }

    .reviews__count {
        flex-basis: 100%;

        font-size: 13px;
        line-height: 1.45;
    }

    .reviews__carousel {
        grid-auto-columns: 88%;
        gap: 14px;

        width: 100%;
        margin-top: 22px;
    }

    .reviews__card {
        min-height: 210px;
        padding: 24px 20px;

        border-radius: 16px;
    }

    .reviews__card > i {
        margin-bottom: 13px;

        font-size: 21px;
    }

    .reviews__card blockquote {
        font-size: 15px;
        line-height: 1.6;
    }

    .reviews__card footer {
        flex-direction: column;
        gap: 4px;

        margin-top: 17px;
    }

    .reviews__note {
        margin-top: 20px;

        font-size: 13px;
        line-height: 1.5;
    }

    .reviews__actions {
        flex-direction: column;
        gap: 14px;

        width: 100%;
        margin-top: 24px;
    }

    .reviews__link {
        width: min(100%, 300px);
        min-height: 46px;
        padding: 10px 16px;

        font-size: 14px;
    }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
    .hero__usp {
        scroll-behavior: auto;
    }
}

