.pricing-experience{
        padding:0 0 100px;
        overflow:hidden;
        background:#FDF3F2;
    }

.pricing-opening{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    padding:80px 0 82px;
    background:#FDF3F2;
}

    .pricing-circle{
        position:absolute;
        z-index:1;
        display:block;
        border:1px solid rgba(217,140,151,.17);
        border-radius:50%;
        background:rgba(255,255,255,.07);
        pointer-events:none;
    }

    .pricing-circle--opening-one{
        top:32px;
        left:-72px;
        width:190px;
        height:190px;
    }

    .pricing-circle--opening-two{
        right:7%;
        bottom:32px;
        width:96px;
        height:96px;
        background:rgba(239,201,210,.12);
    }

    .pricing-circle--group-one{
        top:76px;
        left:-112px;
        width:210px;
        height:210px;
    }

    .pricing-circle--group-two{
        top:47%;
        right:-76px;
        width:148px;
        height:148px;
        background:rgba(239,201,210,.10);
    }

    .pricing-circle--group-three{
        bottom:8px;
        left:18%;
        width:74px;
        height:74px;
    }

    .pricing-circle--individual-one{
        top:42px;
        right:-96px;
        width:182px;
        height:182px;
    }

    .pricing-circle--individual-two{
        left:-58px;
        bottom:14px;
        width:126px;
        height:126px;
        background:rgba(239,201,210,.11);
    }

    .pricing-circle--individual-three{
        top:54%;
        left:48%;
        width:68px;
        height:68px;
    }

    .pricing-circle--duet-one{
        top:52px;
        left:-78px;
        width:162px;
        height:162px;
    }

    .pricing-circle--duet-two{
        top:50%;
        right:-102px;
        width:194px;
        height:194px;
        background:rgba(239,201,210,.10);
    }

    .pricing-circle--duet-three{
        left:28%;
        bottom:-4px;
        width:66px;
        height:66px;
    }

    .pricing-opening-shell{
        position:relative;
        z-index:2;
        display:grid;
        grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);
        align-items:end;
        gap:clamp(56px,7vw,112px);
    }

    .pricing-opening-copy{
        max-width:690px;
    }

    .pricing-opening-kicker{
        display:block;
        margin:0 0 21px;
        color:#c17a8b;
        font-family:var(--script);
        font-size:30px;
        line-height:1;
    }

    .pricing-opening-copy h2{
        margin:0;
        color:#4e3c42;
        font-family:var(--serif);
        font-size:clamp(42px,4.6vw,62px);
        line-height:.94;
        font-weight:500;
        letter-spacing:-.045em;
    }

    .pricing-opening-copy h2 span{
        display:block;
        color:#9d5d6d;
    }

    .pricing-opening-side{
        padding-bottom:3px;
    }

    .pricing-studio-select{
        margin-top:32px;
        padding-top:0;
        border-top:0;
    }

    .pricing-studio-label{
        display:block;
        margin-bottom:13px;
        color:#8f737b;
        font-size:11px;
        line-height:1;
        font-weight:700;
        letter-spacing:.14em;
        text-transform:uppercase;
    }

    .pricing-location-switch{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:10px;
    }

    .pricing-location{
        position:relative;
        display:grid;
        grid-template-columns:auto minmax(0,1fr) auto;
        align-items:center;
        gap:12px;
        min-width:0;
        padding:15px 15px 15px 14px;
        border:1px solid rgba(107,36,55,.10);
        border-radius:16px;
        background:rgba(255,255,255,.42);
        color:#806b72;
        text-align:left;
        cursor:pointer;
        transition:
            border-color .25s ease,
            background .25s ease,
            color .25s ease,
            transform .25s ease;
    }

    .pricing-location:hover{
        border-color:rgba(185,120,135,.28);
        background:rgba(255,255,255,.72);
    }

    .pricing-location-number{
        width:34px;
        height:34px;
        display:grid;
        place-items:center;
        border-radius:50%;
        color:#b57a88;
        background:#f7e9e9;
        font-size:12px;
        transition:
            color .25s ease,
            background .25s ease;
    }

    .pricing-location-content{
        display:block;
        min-width:0;
    }

    .pricing-location-content strong{
        display:block;
        color:inherit;
        font-family:var(--serif);
        font-size:19px;
        line-height:1.05;
        font-weight:600;
    }

    .pricing-location-content small{
        display:block;
        overflow:hidden;
        margin-top:5px;
        color:#9a878c;
        font-size:10px;
        line-height:1.3;
        text-overflow:ellipsis;
        white-space:nowrap;
    }

    .pricing-location-check{
        width:22px;
        height:22px;
        display:grid;
        place-items:center;
        border:1px solid rgba(107,36,55,.12);
        border-radius:50%;
        color:transparent;
        font-size:8px;
        transition:
            color .25s ease,
            background .25s ease,
            border-color .25s ease;
    }

    .pricing-location.is-active{
        border-color:rgba(201,127,143,.48);
        background:#fff;
        color:#6b2437;
    }

    .pricing-location.is-active .pricing-location-number{
        color:#fff;
        background:#d98c97;
    }

    .pricing-location.is-active .pricing-location-check{
        border-color:#d98c97;
        color:#fff;
        background:#d98c97;
    }

    .pricing-draw{
        position:absolute;
        z-index:0;
        pointer-events:none;
        opacity:.58;
    }

    .pricing-draw svg{
        display:block;
        width:100%;
        height:100%;
        overflow:visible;
    }

    .pricing-draw--opening img{
        display:block;
        width:100%;
        height:100%;
        object-fit:contain;
    }

    .pricing-draw--figure{
        opacity:.58;
    }

    .pricing-draw--figure .pricing-figure-svg{
        overflow:visible;
    }

    .pricing-draw--figure path{
        fill:none;
        stroke:rgba(217,140,151,.62);
        stroke-width:2.15;
        stroke-linecap:round;
        stroke-linejoin:round;
        stroke-dasharray:1;
        stroke-dashoffset:1;
        vector-effect:non-scaling-stroke;
    }

    .pricing-draw--figure.is-drawing path{
        animation:pricingFigureDraw var(--draw-duration,.62s) cubic-bezier(.22,.61,.36,1) var(--draw-delay,0s) forwards;
    }

    .pricing-draw--opening{
        top:34px;
        left:50%;
        right:auto;
        width:156px;
        height:175px;
        transform:translateX(-50%) rotate(4deg);
        opacity:.68;
    }

    .pricing-draw--group{
        top:142px;
        right:-190px;
        width:248px;
        aspect-ratio:689 / 1024;
        transform:rotate(2deg);
    }

    .pricing-draw--individual{
        top:126px;
        left:-200px;
        width:252px;
        aspect-ratio:664 / 1024;
        transform:rotate(-2deg);
        opacity:.54;
    }

    .pricing-draw--duet{
        top:152px;
        right:-205px;
        width:266px;
        aspect-ratio:723 / 1024;
        transform:rotate(2deg);
        opacity:.52;
    }

    @keyframes pricingFigureDraw{
        to{stroke-dashoffset:0}
    }

    .pricing-opening-divider{
        position:relative;
        z-index:2;
        border-top:1px solid rgba(107,36,55,.10);
    }

    .pricing-prep{
        position:relative;
        z-index:2;
        margin-top:54px;
    }

    .pricing-prep-heading{
        position:relative;
        z-index:1;
        max-width:760px;
        opacity:0;
        transform:translateY(18px);
    }

    .pricing-prep-heading p{
        margin:0 0 8px;
        color:#c17a8b;
        font-family:var(--script);
        font-size:30px;
        line-height:1;
    }

    .pricing-prep-heading h3{
        margin:0;
        color:#4d3d42;
        font-family:var(--serif);
        font-size:clamp(36px,3vw,46px);
        line-height:.98;
        font-weight:500;
    }

    .pricing-prep-list{
        position:relative;
        z-index:1;
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:0;
        margin-top:34px;
        padding-top:28px;
        border-top:1px solid rgba(107,36,55,.10);
    }

    .pricing-prep-item{
        position:relative;
        display:grid;
        grid-template-columns:46px minmax(0,1fr);
        align-items:start;
        gap:16px;
        min-width:0;
        padding:0 34px;
        opacity:0;
        transform:translateY(28px);
    }

    .pricing-prep-item:first-child{
        padding-left:0;
    }

    .pricing-prep-item:last-child{
        padding-right:0;
    }

    .pricing-prep-item + .pricing-prep-item::before{
        content:"";
        position:absolute;
        top:0;
        bottom:0;
        left:0;
        width:1px;
        background:rgba(107,36,55,.10);
    }

    .pricing-prep-icon{
        width:46px;
        height:46px;
        display:grid;
        place-items:center;
        color:#c86f82;
        font-size:25px;
        transform:translateY(6px) scale(.74) rotate(-8deg);
        transform-origin:center;
    }

    .pricing-prep-item strong{
        display:block;
        margin-top:1px;
        color:#59474e;
        font-family:var(--serif);
        font-size:25px;
        line-height:1.05;
        font-weight:600;
    }

    .pricing-prep-item div>span{
        display:block;
        max-width:330px;
        margin-top:9px;
        color:#806d73;
        font-size:13px;
        line-height:1.6;
        font-weight:500;
    }

    .pricing-prep.is-visible .pricing-prep-heading{
        opacity:1;
        transform:translateY(0);
        transition:opacity .6s ease,transform .72s cubic-bezier(.22,1,.36,1);
    }

    .pricing-prep.is-visible .pricing-prep-item{
        opacity:1;
        transform:translateY(0);
        transition:opacity .62s ease,transform .78s cubic-bezier(.22,1,.36,1);
    }

    .pricing-prep.is-visible .pricing-prep-item:nth-child(1){
        transition-delay:.16s;
    }

    .pricing-prep.is-visible .pricing-prep-item:nth-child(2){
        transition-delay:.34s;
    }

    .pricing-prep.is-visible .pricing-prep-item:nth-child(3){
        transition-delay:.52s;
    }

    .pricing-prep.is-visible .pricing-prep-item:nth-child(1) .pricing-prep-icon{
        transition-delay:.24s;
    }

    .pricing-prep.is-visible .pricing-prep-item:nth-child(2) .pricing-prep-icon{
        transition-delay:.42s;
    }

    .pricing-prep.is-visible .pricing-prep-item:nth-child(3) .pricing-prep-icon{
        transition-delay:.60s;
    }

    .pricing-prep.is-visible .pricing-prep-icon{
        transform:translateY(0) scale(1) rotate(0);
        transition:transform .62s cubic-bezier(.22,1,.36,1);
    }

    .pricing-prep + .pricing-category{
        margin-top:72px;
    }

    .pricing-category{
        position:relative;
        margin-top:73px;
    }

    .pricing-category--individual,
    .pricing-category--duet{
        margin-top:82px;
    }

    .pricing-group-heading{
        position:relative;
        z-index:2;
        display:flex;
        align-items:flex-end;
        justify-content:space-between;
        gap:40px;
        margin-bottom:31px;
    }

    .pricing-group-heading p{
        margin:0 0 8px;
        color:#c17a8b;
        font-family:var(--script);
        font-size:29px;
        line-height:1;
    }

    .pricing-group-heading h3{
        max-width:720px;
        margin:0;
        color:#4d3d42;
        font-size:clamp(33px,2.9vw,45px);
        line-height:.98;
        font-weight:500;
    }

    .pricing-group-heading h3 span{
        display:block;
        margin-top:7px;
        color:#d98c97;
        font-family:var(--script);
        font-weight:400;
    }

    .pricing-card-grid{
        position:relative;
        z-index:2;
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:36px 22px;
    }

    .pm-pass{
        position:relative;
        min-width:0;
    }

    .pm-art-card{
        position:relative;
        width:100%;
        overflow:hidden;
        border-radius:24px;
        background:#f3dfe0;
        box-shadow:0 20px 46px rgba(97,54,65,.12);
        transition:
            transform .45s cubic-bezier(.22,1,.36,1),
            box-shadow .35s ease;
    }

    .pm-art-card-bg{
        position:relative;
        z-index:1;
        display:block;
        width:100%;
        height:auto;
        border:0;
    }

    .pm-pass:hover .pm-art-card{
        transform:translateY(-6px);
        box-shadow:0 28px 58px rgba(97,54,65,.17);
    }

    .pm-art-main{
        position:absolute;
        z-index:2;
        left:calc(50% - 10px);
        top:51%;
        width:47%;
        transform:translate(-50%,-50%);
        color:#875461;
        text-align:center;
        pointer-events:none;
    }

    .pm-art-type{
        display:block;
        margin:0 0 12px;
        color:#9d6571;
        font-family:var(--sans);
        font-size:11px;
        line-height:1.2;
        font-weight:600;
        letter-spacing:.15em;
        text-transform:uppercase;
    }

    .pm-art-label{
        display:block;
        margin-bottom:4px;
        color:#b36d7c;
        font-family:var(--script);
        font-size:24px;
        line-height:1;
    }

    .pm-art-main h4{
        margin:0;
        color:#7f4e5a;
        font-family:var(--serif);
        font-size:clamp(29px,calc(2.8vw - 4px),40px);
        line-height:.92;
        font-weight:600;
        letter-spacing:-.025em;
    }

    .pm-art-price{
        display:block;
        margin-top:13px;
        color:#995b69;
        font-family:var(--serif);
        font-size:clamp(27px,2.15vw,34px);
        line-height:1;
        font-weight:600;
    }

    .pm-art-note{
        display:block;
        width:72%;
        margin:16px auto 0;
        padding-top:12px;
        border-top:1px solid rgba(150,83,98,.28);
        color:#94636e;
        font-family:var(--sans);
        font-size:11px;
        line-height:1.3;
        font-weight:500;
        letter-spacing:.03em;
    }

    .pm-pass-action{
        position:absolute;
        inset:0;
        z-index:4;
        display:flex;
        align-items:flex-end;
        justify-content:flex-start;
        gap:8px;
        margin:0;
        padding:0 28px 22px;
        border-radius:24px;
        color:#a85e71;
        font-size:13px;
        line-height:1.2;
        font-weight:700;
        text-decoration:none;
        cursor:pointer;
    }

    .pm-pass-action-label,
    .pm-pass-action-arrow{
        position:relative;
        z-index:2;
    }

    .pm-pass-action-arrow{
        display:inline-block;
        margin-left:1px;
        font-family:var(--script),cursive;
        font-size:25px;
        line-height:.72;
        font-weight:400;
        transform:translateY(3px);
        transition:transform .28s cubic-bezier(.22,1,.36,1);
    }

    .pm-pass-action:hover .pm-pass-action-arrow{
        transform:translate(5px,3px);
    }

    .pm-pass-action:focus-visible{
        outline:2px solid rgba(217,140,151,.75);
        outline-offset:-4px;
    }

    .pricing-practical{
        position:relative;
        z-index:2;
        display:grid;
        grid-template-columns:repeat(4,1fr);
        margin-top:80px;
        padding-top:35px;
        border-top:1px solid rgba(107,36,55,.10);
    }

    .pricing-practical--extras{
        grid-template-columns:repeat(3,minmax(0,1fr));
        margin-top:30px;
        padding-top:28px;
        text-align:center;
    }

    .pricing-category[hidden],
    .pricing-practical>div[hidden]{display:none}

    .pricing-practical--extras:has([data-price-extended][hidden]){
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    .pricing-practical>div{
        display:flex;
        align-items:center;
        justify-content:center;
        gap:17px;
        padding:4px 28px;
    }

    .pricing-practical>div+div{
        border-left:1px solid rgba(107,36,55,.10);
    }

    .pricing-practical i{
        flex:0 0 auto;
        color:#d98c97;
        font-size:23px;
    }

    .pricing-practical span{
        color:#806d73;
        font-size:16px;
        line-height:1.4;
        font-weight:500;
    }

    .pricing-practical strong{
        display:block;
        margin-top:5px;
        color:#59474e;
        font-size:18px;
        line-height:1.3;
        font-weight:600;
    }

    @media (max-width:1080px){
        .pricing-opening{
            padding:68px 0 72px;
        }

        .pricing-opening-shell{
            grid-template-columns:1fr;
            gap:38px;
        }

        .pricing-opening-copy,
        .pricing-opening-side{
            max-width:760px;
        }

        .pricing-card-grid{
            grid-template-columns:1fr 1fr;
        }

        .pricing-prep-item{
            padding:0 22px;
        }

        .pricing-prep-item:first-child{
            padding-left:0;
        }

        .pricing-prep-item:last-child{
            padding-right:0;
        }

        .pricing-category--individual .pm-pass:last-child,
        .pricing-category--duet .pm-pass:last-child{
            grid-column:1 / -1;
            width:calc(50% - 11px);
            justify-self:center;
        }

        .pm-art-main{
            left:calc(50% - 10px);
            width:48%;
        }

        .pm-art-type{
            font-size:10px;
        }

        .pm-art-label{
            font-size:23px;
        }

        .pm-art-main h4{
            font-size:clamp(30px,calc(4.2vw - 4px),40px);
        }

        .pm-art-price{
            font-size:31px;
        }

        .pm-art-note{
            font-size:10px;
        }
    }

    @media (max-width:1080px){
        .pricing-practical{
            grid-template-columns:repeat(2,1fr);
            row-gap:28px;
        }

        .pricing-practical--extras{
            grid-template-columns:repeat(3,minmax(0,1fr));
        }

        .pricing-practical:not(.pricing-practical--extras)>div:nth-child(3){
            border-left:0;
        }
    }

    @media (max-width:900px){
        .pricing-circle--group-one{
            left:-78px;
            width:155px;
            height:155px;
        }

        .pricing-circle--group-two{
            right:-56px;
            width:112px;
            height:112px;
        }

        .pricing-circle--individual-one{
            right:-62px;
            width:132px;
            height:132px;
        }

        .pricing-circle--duet-one{
            left:-58px;
            width:126px;
            height:126px;
        }

        .pricing-circle--duet-two{
            right:-68px;
            width:142px;
            height:142px;
        }

        .pricing-category--individual,
        .pricing-category--duet{
            margin-top:66px;
        }

        .pricing-practical{
            grid-template-columns:1fr;
            gap:23px;
        }

        .pricing-practical>div{
            justify-content:flex-start;
            padding:0;
        }

        .pricing-practical--extras{grid-template-columns:1fr}
        .pricing-practical--extras:has([data-price-extended][hidden]){grid-template-columns:1fr}
        .pricing-practical--extras>div{justify-content:center}

        .pricing-practical>div+div{
            border-left:0;
        }
    }

    @media (max-width:620px){
        .pricing-circle--opening-one{
            top:20px;
            left:-58px;
            width:118px;
            height:118px;
        }

        .pricing-circle--opening-two{
            right:-18px;
            bottom:22px;
            width:70px;
            height:70px;
        }

        .pricing-circle--group-one{
            top:106px;
            left:-48px;
            width:104px;
            height:104px;
        }

        .pricing-circle--group-two{
            top:52%;
            right:-38px;
            width:84px;
            height:84px;
        }

        .pricing-circle--group-three{
            left:auto;
            right:14%;
            bottom:12px;
            width:52px;
            height:52px;
        }

        .pricing-circle--individual-one{
            top:82px;
            right:-42px;
            width:94px;
            height:94px;
        }

        .pricing-circle--individual-two{
            left:-34px;
            bottom:22px;
            width:76px;
            height:76px;
        }

        .pricing-circle--individual-three{
            display:none;
        }

        .pricing-circle--duet-one{
            top:92px;
            left:-40px;
            width:90px;
            height:90px;
        }

        .pricing-circle--duet-two{
            top:54%;
            right:-46px;
            width:100px;
            height:100px;
        }

        .pricing-circle--duet-three{
            left:24%;
            bottom:8px;
            width:48px;
            height:48px;
        }

        .pricing-draw--opening{
            top:26px;
            right:-82px;
            width:114px;
            height:129px;
            opacity:.42;
        }

        .pricing-draw--group{
            top:178px;
            right:-116px;
            width:168px;
            opacity:.34;
        }

        .pricing-draw--individual{
            top:168px;
            left:-108px;
            width:164px;
            opacity:.32;
        }

        .pricing-draw--duet{
            top:186px;
            right:-122px;
            width:178px;
            opacity:.30;
        }

        .pricing-experience{
            padding-bottom:66px;
        }

        .pricing-opening{
             padding:54px 0 56px;
        }

        .pricing-opening-shell{
            gap:30px;
        }

        .pricing-opening-kicker{
            margin-bottom:16px;
            font-size:27px;
        }

        .pricing-opening-copy h2{
            font-size:clamp(39px,10.8vw,52px);
            line-height:.96;
        }

        .pricing-studio-select{
            margin-top:24px;
            padding-top:0;
        }

        .pricing-studio-label{
            margin-bottom:11px;
            font-size:10px;
        }

        .pricing-location-switch{
            grid-template-columns:1fr;
            gap:8px;
        }

        .pricing-location{
            padding:14px;
            border-radius:14px;
        }

        .pricing-location-content strong{
            font-size:20px;
        }

        .pricing-location-content small{
            font-size:10px;
        }

        .pricing-prep{
            margin-top:38px;
        }

        .pricing-prep-heading p{
            font-size:27px;
        }

        .pricing-prep-heading h3{
            font-size:34px;
        }

        .pricing-prep-list{
            grid-template-columns:1fr;
            margin-top:24px;
            padding-top:12px;
        }

        .pricing-prep-item,
        .pricing-prep-item:first-child,
        .pricing-prep-item:last-child{
            grid-template-columns:44px minmax(0,1fr);
            gap:14px;
            padding:20px 0;
        }

        .pricing-prep-item + .pricing-prep-item::before{
            top:0;
            right:0;
            bottom:auto;
            left:0;
            width:auto;
            height:1px;
        }

        .pricing-prep-icon{
            width:44px;
            height:44px;
            font-size:21px;
        }

        .pricing-prep-item strong{
            font-size:23px;
        }

        .pricing-prep-item div>span{
            max-width:460px;
            font-size:12.5px;
        }

        .pricing-prep + .pricing-category{
            margin-top:52px;
        }

        .pricing-category{
            margin-top:52px;
        }

        .pricing-category--individual,
        .pricing-category--duet{
            margin-top:58px;
        }

        .pricing-group-heading{
            align-items:flex-start;
            flex-direction:column;
            gap:14px;
        }

        .pricing-group-heading h3{
            font-size:34px;
        }

        .pricing-card-grid{
            grid-template-columns:1fr;
            gap:34px;
        }

        .pricing-category--individual .pm-pass:last-child,
        .pricing-category--duet .pm-pass:last-child{
            grid-column:auto;
            width:100%;
        }

        .pm-art-card{
            border-radius:20px;
        }

        .pm-pass-action{
            padding:0 22px 18px;
            border-radius:20px;
        }

        .pm-art-main{
            left:calc(50% - 10px);
            top:51%;
            width:52%;
        }

        .pm-art-type{
            margin-bottom:9px;
            font-size:8px;
            letter-spacing:.11em;
        }

        .pm-art-label{
            font-size:20px;
        }

        .pm-art-main h4{
            font-size:clamp(26px,calc(8.5vw - 4px),34px);
        }

        .pm-art-price{
            margin-top:9px;
            font-size:27px;
        }

        .pm-art-note{
            width:78%;
            margin-top:12px;
            padding-top:9px;
            font-size:9px;
        }

        .pricing-practical{
            margin-top:58px;
            padding-top:30px;
        }

        .pricing-practical span{
            font-size:15px;
        }

        .pricing-practical strong{
            font-size:17px;
        }
    }

    @media (prefers-reduced-motion:reduce){
        .pricing-prep-heading,
        .pricing-prep-item{
            opacity:1;
            transform:none;
            transition:none!important;
        }

        .pricing-prep-icon{
            transform:none;
            transition:none!important;
        }

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

        .pm-art-card,
        .pm-pass-action-arrow,
        .pricing-location,
        .pricing-location-number,
        .pricing-location-check{
            transition:none !important;
        }
    }
