.training-experience{
        position:relative;
        padding:88px 0 84px;
        background:#fffaf7;
        overflow:hidden;
    }

    .training-shell{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        column-gap:20px;
        row-gap:30px;
        width:min(calc(100% - 40px),1600px);
        margin:auto;
    }

    .training-head{
        grid-column:1;
        grid-row:1;
        margin:0;
        text-align:left;
    }

    .training-head .section-title{
        margin:0;
        color:#58464b;
        font-size:calc(clamp(34px,3.4vw,52px) - 2px);
        line-height:1;
        font-weight:500;
    }

  .training-head .section-title .accent{
    color:#d98c97;
    font-family:var(--script);
    font-style:normal;
    font-weight:500;
    font-size:1.25em;
}

    .training-prices{
        grid-column:2;
        grid-row:1;
        justify-self:end;
        align-self:center;
        display:inline-flex;
        align-items:center;
        gap:10px;
        min-height:44px;
        padding:0;
        background:transparent;
        color:#c86f82;
        font-size:15px;
        font-weight:700;
        text-decoration:none;
        transition:color .2s ease;
    }

    .training-prices::after{
        content:'';
        flex:0 0 20px;
        width:20px;
        height:20px;
        background:currentColor;
        mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
        transition:transform .2s ease;
    }

    .training-prices:hover,
    .training-prices:focus-visible{
        color:#ad596d;
    }

    .training-prices:hover::after{
        transform:translateX(3px);
    }

    .training-prices:focus-visible{
        outline:2px solid currentColor;
        outline-offset:5px;
    }

    .training-cards{
        grid-column:1 / -1;
        grid-row:2;
        min-width:0;
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:14px;
    }

    .training-card{
        position:relative;
        min-width:0;
        height:234px;
        min-height:234px;
        max-height:234px;
        display:grid;
        grid-template-columns:minmax(0,1.30fr) minmax(135px,.70fr);
        overflow:hidden;
        border:0;
        border-radius:18px;
        background:#fdf0f1;
    }

    .training-card-copy{
        position:relative;
        z-index:2;
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        justify-content:center;
        min-width:0;
        height:100%;
        padding:9px 8px 9px 18px;
    }

    .training-card-title{
        display:flex;
        align-items:center;
        gap:9px;
        width:100%;
        height:34px;
        margin:0;
        color:#6b4d56;
        font-family:var(--serif);
        font-size:clamp(25px,1.75vw,31px);
        line-height:1.03;
        font-weight:600;
        white-space:nowrap;
    }

    .training-card-title--medium{
        font-weight:400;
    }

    .training-card-title i{
        flex:0 0 18px;
        color:#d98c97;
        font-size:17px;
        transform:translateY(1px);
    }

    .training-card-copy p{
        width:100%;
        max-width:340px;
        height:83px;
        margin:7px 0 0;
        color:#756268;
        font-size:15px;
        line-height:1.38;
        display:-webkit-box;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:4;
        overflow:hidden;
    }

    .training-card-copy a{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:42px;
        margin-top:8px;
        padding:0 22px;
        border-radius:999px;
        background:#c86f82;
        color:#fff;
        font-size:12px;
        font-weight:700;
        letter-spacing:.01em;
        text-transform:none;
        transition:background-color .2s ease,transform .2s ease;
    }

    .training-card-copy a:hover{
        background:#b95f73;
        transform:translateY(-1px);
    }

    .training-card-media{
        position:relative;
        min-width:0;
        min-height:0;
        height:100%;
        overflow:hidden;
        background:transparent;
        padding:0 0 0 4px;
    }

    .training-card-media img{
        position:absolute;
        inset:0;
        display:block;
        width:100%;
        height:100%;
        max-width:none;
        max-height:none;
        object-fit:contain;
        object-position:right bottom;
        background:transparent;
    }

    .training-experience .training-card-media::after{
        content:"";
        position:absolute;
        inset:0;
        z-index:1;
        background:linear-gradient(90deg,#fdf0f1 0,rgba(253,240,241,.45) 8px,transparent 26px);
        pointer-events:none;
    }

    .training-card-media--photo img{
        object-fit:cover;
        object-position:center;
    }

    .training-card-media--motherhood img{
        object-position:center 20%;
    }

    .training-card-media--extended img{
        object-position:30% center;
    }

    @media (max-width:1180px){
        .training-cards{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }

        .training-card{
            height:234px;
            min-height:234px;
            max-height:234px;
            grid-template-columns:minmax(0,1.28fr) minmax(135px,.72fr);
        }
    }

    @media (max-width:900px){
        .training-head{
            text-align:center;
        }

        .training-prices{
            grid-column:1;
            grid-row:3;
            justify-self:center;
        }
        .training-experience{
            padding:72px 0 24px;
        }

        .training-shell{
            grid-template-columns:minmax(0,1fr);
            row-gap:24px;
            width:min(calc(100% - 36px),var(--max));
        }

        .training-cards{
            display:flex;
            grid-template-columns:none;
            gap:14px;
            overflow-x:auto;
            overflow-y:hidden;
            scroll-snap-type:x mandatory;
            scroll-behavior:smooth;
            overscroll-behavior-x:contain;
            -webkit-overflow-scrolling:touch;
            scrollbar-width:none;
        }

        .training-cards::-webkit-scrollbar{
            display:none;
        }

        .training-card{
            flex:0 0 100%;
            width:100%;
            height:239px;
            min-height:239px;
            max-height:239px;
            grid-template-columns:minmax(0,1.24fr) minmax(140px,.76fr);
            scroll-snap-align:start;
            scroll-snap-stop:always;
        }

        .training-card-copy{
            padding:9px 8px 9px 18px;
        }
    }

    @media (max-width:620px){
        .training-experience{
            padding:62px 0 24px;
        }

        .training-shell{
            width:min(calc(100% - 24px),var(--max));
        }

        .training-head .section-title{
            font-size:calc(clamp(30px,9vw,42px) - 2px);
        }

        .training-card{
            height:211px;
            min-height:211px;
            max-height:211px;
            grid-template-columns:minmax(0,1.24fr) minmax(112px,.76fr);
            border-radius:16px;
        }

        .training-card-copy{
            padding:8px 7px 8px 16px;
        }

        .training-card-title{
            gap:7px;
            height:44px;
            font-size:20px;
            white-space:normal;
        }

        .training-card-title i{
            font-size:13px;
            flex-basis:14px;
        }

        .training-card-copy p{
            max-width:230px;
            height:70px;
            margin-top:8px;
            font-size:12px;
            line-height:1.45;
        }

        .training-card-copy a{
            min-height:38px;
            margin-top:7px;
            padding:0 19px;
            font-size:11px;
        }
    }

    @media (max-width:420px){
        .training-card{
            height:205px;
            min-height:205px;
            max-height:205px;
            grid-template-columns:minmax(0,1.26fr) minmax(104px,.74fr);
        }

        .training-card-copy p{
            height:76px;
            font-size:13px;
        }
    }
