.contact-form-section{
        position:relative;
        padding:96px 0 102px;
        overflow:hidden;
        background:linear-gradient(
            180deg,
            #fffaf7 0%,
            #f9eaea 52%,
            #fff9f6 100%
        );
    }

    .contact-form-shell{
        position:relative;
        z-index:2;
        display:grid;
        grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);
        align-items:center;
        gap:clamp(44px,5vw,80px);
    }

    .contact-form-copy{
        max-width:620px;
    }

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

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

    .contact-form-intro{
        max-width:585px;
        margin:25px 0 0;
        color:#75646a;
        font-size:16px;
        line-height:1.72;
    }

    .contact-methods{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:12px;
        margin-top:38px;
    }

    .contact-method{
        position:relative;
        min-width:0;
        min-height:96px;
        display:grid;
        grid-template-columns:28px minmax(0,1fr) 20px;
        align-items:center;
        gap:15px;
        padding:19px 18px;
        overflow:hidden;
        border:1px solid rgba(107,36,55,.08);
        border-radius:18px;
        background:rgba(255,255,255,.62);
        box-shadow:0 10px 30px rgba(83,47,56,.045);
        transition:
            transform .32s cubic-bezier(.22,1,.36,1),
            box-shadow .25s ease,
            border-color .25s ease,
            background-color .25s ease;
    }

    .contact-method:hover{
        transform:translateY(-4px);
        border-color:rgba(200,111,130,.23);
        background:rgba(255,255,255,.86);
        box-shadow:0 16px 36px rgba(83,47,56,.075);
    }

    .contact-method-icon{
        position:relative;
        z-index:2;
        width:28px;
        display:grid;
        place-items:center;
        color:#c86f82;
        font-size:19px;
    }

    .contact-method-content{
        position:relative;
        z-index:2;
        min-width:0;
        display:block;
    }

    .contact-method-content strong{
        display:block;
        margin:0 0 6px;
        color:#4d3d42;
        font-family:var(--serif);
        font-size:21px;
        line-height:1;
        font-weight:600;
    }

    .contact-method-content span{
        display:block;
        overflow-wrap:anywhere;
        color:#8a747a;
        font-size:12px;
        line-height:1.4;
    }

    .contact-method-arrow{
        position:relative;
        z-index:2;
        display:grid;
        place-items:center;
        color:#d98c97;
        font-size:11px;
        transition:transform .25s ease;
    }

    .contact-method:hover .contact-method-arrow{
        transform:translateX(4px);
    }

    .contact-follow{
        margin-top:25px;
    }

    .contact-follow>p{
        margin:0 0 12px;
        color:#a76e7b;
        font-family:var(--script);
        font-size:27px;
        line-height:1;
        font-weight:500;
    }

    .contact-social-row{
        display:flex;
        align-items:center;
        flex-wrap:wrap;
        gap:9px;
    }

    .contact-social-link{
        width:44px;
        height:44px;
        flex:0 0 44px;
        display:grid;
        place-items:center;
        border:1px solid rgba(200,111,130,.25);
        border-radius:50%;
        background:rgba(255,255,255,.62);
        color:#b56577;
        font-size:17px;
        transition:
            transform .25s ease,
            background-color .22s ease,
            color .22s ease,
            border-color .22s ease;
    }

    .contact-social-link:hover{
        transform:translateY(-3px);
        border-color:#c86f82;
        background:#c86f82;
        color:#fff;
    }

    .contact-form-stage{
        position:relative;
        width:100%;
        max-width:590px;
        min-width:0;
        aspect-ratio:4 / 5;
        padding:20% 10.5% 11%;
        overflow:visible;
        background:transparent;
        isolation:isolate;
    }

    .contact-form-paper{
        position:absolute;
        z-index:1;
        inset:0;
        width:100%;
        height:100%;
        object-fit:fill;
        pointer-events:none;
        user-select:none;
    }

    .contact-form{
        position:relative;
        z-index:3;
        margin-top:0;
    }

    .contact-field-row{
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr);
        align-items:start;
        gap:26px;
    }

    .contact-field-row+.contact-field-row,
    .contact-field-row+.contact-field{
        margin-top:26px;
    }

    .contact-field-row>.contact-field{
        margin-top:0 !important;
    }

    .contact-field{
        position:relative;
        min-width:0;
        min-height:66px;
        display:grid;
        grid-template-rows:15px 42px;
        row-gap:7px;
        padding-bottom:2px;
    }

    .contact-field::before{
        content:"";
        position:absolute;
        left:0;
        right:0;
        bottom:0;
        height:1px;
        background:rgba(111,63,76,.34);
    }

    .contact-field::after{
        content:"";
        position:absolute;
        left:0;
        right:0;
        bottom:0;
        height:1.5px;
        background:#8d5363;
        transform:scaleX(0);
        transform-origin:left center;
    }

    .contact-form-stage.is-visible .contact-field::after{
        animation:
            contactFieldLine
            .72s
            cubic-bezier(.22,.61,.36,1)
            var(--field-delay,0s)
            forwards;
    }

    @keyframes contactFieldLine{
        from{
            transform:scaleX(0);
        }

        to{
            transform:scaleX(1);
        }
    }

    .contact-field label{
        min-width:0;
        height:15px;
        display:flex;
        align-items:flex-end;
        margin:0;
        color:#754653;
        font-family:var(--sans);
        font-size:11px;
        line-height:1;
        font-weight:700;
        letter-spacing:.055em;
    }

    .contact-field input,
    .contact-field select,
    .contact-field textarea{
        display:block;
        width:100%;
        margin:0;
        padding:0;
        border:0;
        border-radius:0;
        background:transparent;
        color:#563b43;
        outline:none;
        box-shadow:none;
        font-family:var(--sans);
        font-size:15px;
        font-weight:500;
        line-height:1.25;
    }

    .contact-field input,
    .contact-field select{
        height:42px;
        min-height:42px;
        line-height:42px;
        padding:0 2px;
        box-sizing:border-box;
    }

    .contact-field textarea{
        height:112px;
        min-height:112px;
        max-height:112px;
        padding:9px 2px 0;
        resize:none;
        overflow-y:auto;
        line-height:1.6;
    }

    .contact-field select{
        cursor:pointer;
    }

    .contact-field input::placeholder,
    .contact-field textarea::placeholder{
        color:rgba(86,59,67,.72);
        opacity:1;
    }

    .contact-field select option{
        background:#fff;
        color:#4d3d42;
    }

    .contact-field:focus-within::after{
        background:#7e4858;
        height:2px;
    }

    .contact-field--message{
        min-height:0;
        display:block;
        margin-top:28px;
    }

    .contact-field--message label{
        height:auto;
        min-height:15px;
        margin:0 0 7px;
    }

    .contact-consent{
        display:flex;
        align-items:flex-start;
        gap:10px;
        margin-top:24px;
        color:#694650;
        font-family:var(--sans);
        font-size:11.5px;
        line-height:1.5;
        cursor:pointer;
    }

    .contact-consent input{
        width:16px;
        height:16px;
        flex:0 0 16px;
        margin:2px 0 0;
        accent-color:#d98c97;
    }

    .contact-form-footer{
        display:flex;
        align-items:center;
        gap:17px;
        flex-wrap:wrap;
        margin-top:25px;
        padding-right:58px;
    }

    .contact-submit{
        min-height:49px;
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:18px;
        padding:0 22px;
        border:0;
        border-radius:999px;
        background:#e993a3;
        color:#fff;
        font-family:var(--sans);
        font-size:12px;
        line-height:1;
        font-weight:700;
        transition:
            transform .25s ease,
            background-color .25s ease,
            gap .25s ease;
    }

    .contact-submit i{
        font-size:10px;
        transition:transform .25s ease;
    }

    .contact-submit:hover{
        gap:23px;
        transform:translateY(-2px);
        background:#d98192;
    }

    .contact-submit:hover i{
        transform:translateX(3px);
    }

    .contact-form-status{
        flex:1;
        min-width:180px;
        color:#694650;
        font-size:11px;
        line-height:1.45;
    }

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

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

    @media (max-width:1180px){
        .contact-form-shell{
            grid-template-columns:minmax(300px,.92fr) minmax(0,1.08fr);
            gap:34px;
        }

        .contact-methods{
            grid-template-columns:1fr;
        }

        .contact-form-stage{
            padding:20% 9.5% 11%;
        }
    }

    @media (max-width:900px){
        .contact-form-section{
            padding:72px 0 80px;
        }

        .contact-form-shell{
            grid-template-columns:1fr;
            gap:52px;
        }

        .contact-form-copy{
            max-width:760px;
            margin:auto;
            text-align:center;
        }

        .contact-form-copy h2,
        .contact-form-intro{
            margin-left:auto;
            margin-right:auto;
        }

        .contact-methods{
            width:min(100%,720px);
            grid-template-columns:1fr 1fr;
            margin-left:auto;
            margin-right:auto;
            text-align:left;
        }

        .contact-follow{
            width:min(100%,720px);
            margin-left:auto;
            margin-right:auto;
        }

        .contact-social-row{
            justify-content:center;
        }

        .contact-form-stage{
            width:min(100%,590px);
            margin:auto;
        }
    }

    @media (max-width:620px){
        .contact-form-section{
            padding:62px 0 68px;
        }

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

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

        .contact-methods{
            grid-template-columns:1fr;
            gap:9px;
            margin-top:30px;
        }

        .contact-method{
            min-height:82px;
            grid-template-columns:25px minmax(0,1fr) 18px;
            gap:12px;
            padding:15px;
            border-radius:16px;
        }

        .contact-method-icon{
            width:25px;
            font-size:17px;
        }

        .contact-method-content strong{
            font-size:20px;
        }

        .contact-method-content span{
            font-size:11.5px;
        }

        .contact-follow{
            margin-top:22px;
        }

        .contact-follow>p{
            margin-bottom:11px;
            font-size:25px;
        }

        .contact-social-row{
            gap:8px;
        }

        .contact-social-link{
            width:42px;
            height:42px;
            flex-basis:42px;
            font-size:16px;
        }

        .contact-form-stage{
            padding:190px 10% 14%;
            overflow:visible;
        }

        .contact-form-paper{
            top:0;
            bottom:0;
            left:50%;
            right:auto;
            width:auto;
            max-width:none;
            height:100%;
            object-fit:contain;
            object-position:center;
            transform:translateX(-50%);
        }

        .contact-field-row{
            grid-template-columns:1fr;
            gap:24px;
        }

        .contact-field-row+.contact-field-row,
        .contact-field-row+.contact-field{
            margin-top:24px;
        }

        .contact-field-row>.contact-field{
            margin-top:0 !important;
        }

        .contact-field input,
        .contact-field select,
        .contact-field textarea{
            font-size:14px;
        }

        .contact-field--message{
            margin-top:24px;
        }

        .contact-form-footer{
            align-items:stretch;
            flex-direction:column;
            padding-right:0;
            padding-bottom:8px;
        }

        .contact-submit{
            width:100%;
        }

        .contact-form-status{
            min-width:0;
            padding-right:38px;
            text-align:center;
        }
    }

    @media (prefers-reduced-motion:reduce){
        [data-contact-reveal],
        .contact-field::after{
            animation:none !important;
            transition:none !important;
        }

        [data-contact-reveal]{
            opacity:1;
            transform:none;
        }

        .contact-field::after{
            transform:scaleX(1);
        }
    }
