.approach-section{
        position:relative;
        padding:88px 0 84px;
        overflow:hidden;
        isolation:isolate;
        background:linear-gradient(180deg,#f9eaea 0%,#fbefed 48%,#fff8f5 100%);
    }

    .approach-heading{
        position:relative;
        z-index:3;
        max-width:980px;
        text-align:center;
    }

    .approach-heading h2{
        max-width:900px;
        margin:0 auto;
        color:#4d3d42;
        font-family:var(--serif);
        font-size:calc(clamp(38px,4vw,64px) - 2px);
        line-height:.98;
        letter-spacing:-.035em;
        font-weight:500;
    }

    .approach-heading h2 span{
        display:block;
        margin-top:10px;
        color:#d98c97;
        font-family:var(--script);
        font-weight:400;
        letter-spacing:-.02em;
    }

    .approach-intro{
        max-width:740px;
        margin:22px auto 0;
        color:#75646a;
        font-size:16px;
        line-height:1.68;
    }

    .approach-grid{
        position:relative;
        z-index:3;
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:16px;
        margin-top:52px;
    }

    .approach-card{
        position:relative;
        min-width:0;
        min-height:430px;
        display:flex;
        flex-direction:column;
        padding:36px 30px 30px;
        overflow:hidden;
        border-radius:30px;
        background:rgba(255,250,247,.91);
        backdrop-filter:blur(2px);
        -webkit-backdrop-filter:blur(2px);
        opacity:1;
        --pmf-reveal-from:translateY(34px);transform:none;
        transition:
            opacity .65s ease,
            transform .75s cubic-bezier(.22,1,.36,1);
    }

    .approach-card.is-visible{
        opacity:1;
        transform:none;
    }

    .approach-card:nth-child(2){
        transition-delay:.12s;
    }

    .approach-card:nth-child(3){
        transition-delay:.24s;
    }

    .approach-card-content{
        position:relative;
        z-index:2;
        display:flex;
        flex-direction:column;
        flex:1;
        margin:0;
    }

    .approach-label{
        display:flex;
        align-items:center;
        gap:10px;
        margin:0 0 15px;
        color:#c98a97;
    }

    .approach-label i{
        width:24px;
        height:24px;
        flex:0 0 24px;
        display:grid;
        place-items:center;
        color:#c98290;
        font-size:11px;
        line-height:1;
    }

    .approach-label span{
        font-family:var(--script);
        font-size:29px;
        line-height:1;
        font-weight:500;
    }

    .approach-card h3{
        margin:0;
        color:#4d3d42;
        font-family:var(--serif);
        font-size:clamp(30px,2.45vw,39px);
        line-height:.98;
        letter-spacing:-.027em;
        font-weight:500;
    }

    .approach-card h3 span{
        display:block;
        margin-top:5px;
        color:#d98c97;
        font-family:var(--script);
        font-weight:400;
    }

    .approach-card-content > p{
        margin:22px 0 0;
        color:#75646a;
        font-size:16px;
        line-height:1.72;
    }

    .approach-note{
        display:flex;
        align-items:center;
        gap:12px;
        margin-top:auto;
        padding-top:30px;
        color:#675359;
        font-size:13px;
        line-height:1.5;
        font-weight:500;
    }

    .approach-note i{
        width:35px;
        height:35px;
        flex:0 0 35px;
        display:grid;
        place-items:center;
        border-radius:50%;
        background:#f9e6e9;
        color:#c86f82;
        font-size:12px;
    }

    .approach-figure{
        position:absolute;
        z-index:1;
        pointer-events:none;
        color:rgba(190,103,121,.25);
    }

    .approach-figure-svg{
        display:block;
        width:100%;
        height:auto;
        overflow:visible;
        shape-rendering:geometricPrecision;
    }

    .approach-figure--left{
        left:-92px;
        bottom:-52px;
        width:clamp(260px,24vw,370px);
        transform:rotate(-2deg);
    }

    .approach-figure--right{
        right:-112px;
        top:176px;
        width:clamp(390px,34vw,530px);
        color:rgba(190,103,121,.21);
        transform:rotate(2deg);
    }

    .approach-figure-draw path{
        fill:none;
        stroke:currentColor;
        stroke-width:1.15;
        stroke-linecap:round;
        stroke-linejoin:round;
        stroke-miterlimit:1;
        vector-effect:non-scaling-stroke;
        shape-rendering:geometricPrecision;
        stroke-dasharray:1;
        stroke-dashoffset:1;
        opacity:0;
        filter:blur(.08px);
    }

    .approach-figure--right .approach-figure-draw path{
        stroke-width:1.05;
    }

    .approach-section.is-drawing .approach-figure-draw path{
        animation:
            approachFigureDraw
            var(--draw-duration,.45s)
            cubic-bezier(.22,.61,.36,1)
            var(--draw-delay,0s)
            forwards;
    }

    @keyframes approachFigureDraw{
        0%{
            opacity:0;
            stroke-dashoffset:1;
        }

        8%{
            opacity:1;
        }

        100%{
            opacity:1;
            stroke-dashoffset:0;
        }
    }

    [data-approach-reveal]{
        opacity:1;
        --pmf-reveal-from:translateY(22px);transform:none;
        transition:
            opacity .65s ease,
            transform .7s cubic-bezier(.22,1,.36,1);
    }

    [data-approach-reveal].is-visible{
        opacity:1;
        transform:none;
    }

    @media (max-width:1180px){
        .approach-grid{
            grid-template-columns:repeat(2,minmax(0,1fr));
        }

        .approach-card:last-child{
            grid-column:1 / -1;
            min-height:360px;
        }

        .approach-card:last-child .approach-card-content{
            max-width:760px;
        }

        .approach-figure--left{
            left:-150px;
            width:340px;
            color:rgba(190,103,121,.19);
        }

        .approach-figure--right{
            right:-190px;
            width:500px;
            color:rgba(190,103,121,.16);
        }
    }

    @media (max-width:1050px){
        .approach-grid{
            gap:14px;
        }

        .approach-card{
            padding:32px 24px 27px;
        }

        .approach-card h3{
            font-size:32px;
        }

        .approach-card-content > p{
            font-size:15px;
        }
    }

    @media (max-width:900px){
        .approach-section{
            padding:72px 0 78px;
        }

        .approach-grid{
            grid-template-columns:1fr;
            max-width:760px;
            gap:14px;
            margin-top:48px;
        }

        .approach-card:last-child{
            grid-column:auto;
            min-height:0;
        }

        .approach-card:last-child .approach-card-content{
            max-width:none;
        }

        .approach-card{
            min-height:0;
            padding:30px;
        }

        .approach-card:nth-child(2),
        .approach-card:nth-child(3){
            transition-delay:0s;
        }

        .approach-note{
            margin-top:26px;
        }

        .approach-figure--left{
            left:-118px;
            bottom:190px;
            width:285px;
            color:rgba(190,103,121,.12);
        }

        .approach-figure--right{
            right:-150px;
            top:270px;
            width:390px;
            color:rgba(190,103,121,.1);
        }
    }

    @media (max-width:620px){
        .approach-section{
            padding:62px 0 64px;
        }

        .approach-heading h2{
            font-size:calc(clamp(38px,11vw,48px) - 2px);
        }

        .approach-intro{
            margin-top:21px;
            font-size:15px;
            line-height:1.68;
        }

        .approach-grid{
            margin-top:38px;
        }

        .approach-card{
            padding:26px 21px 24px;
            border-radius:24px;
        }

        .approach-label{
            gap:8px;
            margin-bottom:13px;
        }

        .approach-label i{
            width:21px;
            height:21px;
            flex-basis:21px;
            font-size:10px;
        }

        .approach-label span{
            font-size:27px;
        }

        .approach-card h3{
            font-size:30px;
        }

        .approach-card-content > p{
            margin-top:18px;
            font-size:15px;
            line-height:1.7;
        }

        .approach-note{
            margin-top:24px;
            padding-top:0;
            font-size:12.5px;
        }

        .approach-note i{
            width:33px;
            height:33px;
            flex-basis:33px;
            font-size:11px;
        }

        .approach-figure--left{
            left:-104px;
            bottom:150px;
            width:225px;
            color:rgba(190,103,121,.09);
        }

        .approach-figure--right{
            right:-130px;
            top:300px;
            width:320px;
            color:rgba(190,103,121,.08);
        }

        .approach-figure-draw path{
            stroke-width:.95;
            filter:blur(.06px);
        }

        .approach-figure--right .approach-figure-draw path{
            stroke-width:.9;
        }
    }

    @media (prefers-reduced-motion:reduce){
        .approach-card,
        [data-approach-reveal]{
            opacity:1;
            transform:none;
            transition:none;
        }

        .approach-figure-draw path{
            animation:none !important;
            opacity:1;
            stroke-dashoffset:0;
        }
    }
