.story {
    background-color: transparent;
    overflow: visible;
}

.story .section__title {
    font-size: clamp(2.5rem, 5.8vw, 3.25rem);
    font-weight: var(--font-weight-regular);
}

.story .container {
    max-width: 1200px;
}

.story__layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-2xl);
    position: relative;
}

@media (min-width: 768px) {
    .story__layout {
        grid-template-columns: repeat(12, 1fr);
        gap: var(--space-lg);
        row-gap: var(--space-3xl);
    }
}

.story__block--1 {
    grid-column: 1 / -1;
}

@media (min-width: 768px) {
    .story__block--1 {
        grid-column: 1 / 6;
        grid-row: 1;
        display: flex;
        justify-content: center;
    }

    .story__block--1-text {
        grid-column: 6 / 12;
        grid-row: 1;
        display: flex;
        align-items: center;
    }
}

.story__block--2-text {
    grid-column: 1 / -1;
}

.story__block--2 {
    grid-column: 1 / -1;
}

@media (min-width: 768px) {
    .story__block--2-text {
        grid-column: 2 / 7;
        grid-row: 2;
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }

    .story__block--2 {
        grid-column: 7 / 13;
        grid-row: 2;
        display: flex;
        justify-content: flex-start;
    }
}

.story__block--3 {
    grid-column: 1 / -1;
}

.story__block--3-text {
    grid-column: 1 / -1;
}

@media (min-width: 768px) {
    .story__block--3 {
        grid-column: 1 / 7;
        grid-row: 3;
        display: flex;
        justify-content: center;
    }

    .story__block--3-text {
        grid-column: 7 / 12;
        grid-row: 3;
        display: flex;
        align-items: center;
    }
}

.story__text {
    max-width: 400px;
    padding: var(--space-md);
}

@media (min-width: 768px) {
    .story__text {
        padding: var(--space-lg);
    }
}

@media (min-width: 1024px) {
    .story__text {
        max-width: 440px;
        padding: var(--space-xl);
    }
}

.story__text p {
    font-family: var(--font-body);
    font-size: 1rem;
    line-height: 1.85;
    color: var(--color-text-body);
    margin: 0;
}

@media (min-width: 1024px) {
    .story__text p {
        font-size: 1.0625rem;
    }
}

.story__text p:first-child::first-letter {
    font-family: var(--font-heading);
    font-size: 3.25rem;
    font-weight: var(--font-weight-regular);
    float: left;
    line-height: 0.85;
    margin-right: 0.5rem;
    margin-top: 0.2rem;
    color: var(--color-text-heading);
}

.story__photo {
    position: relative;
    display: inline-block;
}

.story__photo-frame {
    background: var(--color-bg-surface);
    padding: 6px 6px 20px 6px;
    box-shadow:
        0 2px 8px rgba(0, 0, 0, 0.1),
        0 4px 16px rgba(0, 0, 0, 0.08),
        0 1px 3px rgba(0, 0, 0, 0.12);
}

.story__photo-img {
    width: 100%;
    height: auto;
    display: block;
    filter: sepia(10%) contrast(95%) brightness(102%);
}

.story__photo--large {
    width: 168px;
}

.story__photo--large .story__photo-img {
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

.story__photo--medium {
    width: 156px;
}

.story__photo--medium .story__photo-img {
    aspect-ratio: 3 / 4;
    object-fit: cover;
}

.story__photo--wide {
    width: 192px;
}

.story__photo--wide .story__photo-img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

@media (min-width: 768px) {
    .story__photo--large {
        width: 192px;
    }

    .story__photo--medium {
        width: 180px;
    }

    .story__photo--wide {
        width: 228px;
    }

    .story__photo-frame {
        padding: 8px 8px 24px 8px;
    }
}

@media (min-width: 1024px) {
    .story__photo--large {
        width: 240px;
    }

    .story__photo--medium {
        width: 216px;
    }

    .story__photo--wide {
        width: 288px;
    }

    .story__photo-frame {
        padding: 10px 10px 30px 10px;
    }
}

@media (min-width: 1280px) {
    .story__photo--large {
        width: 264px;
    }

    .story__photo--medium {
        width: 240px;
    }

    .story__photo--wide {
        width: 336px;
    }
}

.story__photo-tape {
    position: absolute;
    height: auto;
    opacity: 0.85;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
    z-index: 2;
}

.story__photo-tape--top {
    width: 70px;
    top: -22px;
    left: 50%;
    transform: translateX(-50%);
}

.story__photo-tape--corner-left {
    width: 50px;
    top: -10px;
    left: -14px;
    transform: rotate(-35deg);
}

.story__photo-tape--corner-right {
    width: 50px;
    top: -10px;
    right: -14px;
    transform: rotate(35deg);
}

@media (min-width: 768px) {
    .story__photo-tape--top {
        width: 80px;
        top: -26px;
    }

    .story__photo-tape--corner-left,
    .story__photo-tape--corner-right {
        width: 55px;
        top: -12px;
    }

    .story__photo-tape--corner-left {
        left: -16px;
    }

    .story__photo-tape--corner-right {
        right: -16px;
    }
}

@media (min-width: 1024px) {
    .story__photo-tape--top {
        width: 95px;
        top: -32px;
    }

    .story__photo-tape--corner-left,
    .story__photo-tape--corner-right {
        width: 65px;
        top: -14px;
    }

    .story__photo-tape--corner-left {
        left: -18px;
    }

    .story__photo-tape--corner-right {
        right: -18px;
    }
}

@media (min-width: 1280px) {
    .story__photo-tape--top {
        width: 105px;
        top: -38px;
    }

    .story__photo-tape--corner-left,
    .story__photo-tape--corner-right {
        width: 70px;
        top: -16px;
    }

    .story__photo-tape--corner-left {
        left: -20px;
    }

    .story__photo-tape--corner-right {
        right: -20px;
    }
}

.story__photo--1 {
    transform: rotate(-2.5deg);
}

.story__photo--1 .story__photo-tape--top {
    transform: translateX(-50%) rotate(6deg);
}

.story__photo--2 {
    transform: rotate(2deg);
}

.story__photo--2 .story__photo-tape--top {
    transform: translateX(-50%) rotate(-5deg);
}

.story__photo--3 {
    transform: rotate(-1deg);
}

.story__photo--3 .story__photo-tape--corner-left {
    transform: rotate(-38deg);
}

.story__photo--3 .story__photo-tape--corner-right {
    transform: rotate(32deg);
}

.story__deco {
    position: absolute;
    width: 2.5rem;
    height: 2.5rem;
    color: var(--color-primary);
    pointer-events: none;
    z-index: 0;
}

.story__deco--1 {
    top: 8%;
    right: 8%;
    transform: rotate(20deg);
}

.story__deco--2 {
    top: 45%;
    left: 3%;
    transform: rotate(-15deg) scaleX(-1);
}

.story__deco--3 {
    bottom: 15%;
    right: 5%;
    transform: rotate(30deg);
}

@media (min-width: 1024px) {
    .story__deco {
        width: 3rem;
        height: 3rem;
    }

    .story__deco--1 {
        top: 5%;
        right: 10%;
    }

    .story__deco--2 {
        top: 40%;
        left: 2%;
    }

    .story__deco--3 {
        bottom: 12%;
        right: 8%;
    }
}

@media (min-width: 1280px) {
    .story__deco {
        width: 3.5rem;
        height: 3.5rem;
    }

    .story__deco--1 {
        right: 12%;
    }

    .story__deco--2 {
        left: 4%;
    }

    .story__deco--3 {
        right: 10%;
    }
}

@media (max-width: 767px) {
    .story__deco {
        display: none;
    }
}

@media (max-width: 767px) {
    .story__layout {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: var(--space-3xl);
    }

    .story__block,
    .story__text {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .story__text {
        max-width: 100%;
        padding: 0 var(--space-md);
    }

    .story__text p:first-child::first-letter {
        float: none;
        display: block;
        text-align: center;
        margin: 0 auto var(--space-xs);
    }

    
    .story__block--1 { order: 1; }
    .story__block--1-text { order: 2; }
    .story__block--2 { order: 3; }
    .story__block--2-text { order: 4; }
    .story__block--3 { order: 5; }
    .story__block--3-text { order: 6; }
}