.story{
        position:relative;
        padding:58px 0 118px;
        background:linear-gradient(180deg,#fffaf7 0%,#fffdfb 100%);
        overflow:hidden;
    }

    .story-shell{
        position:relative;
        z-index:2;
    }

    .story-grid{
        display:grid;
        grid-template-columns:minmax(300px,360px) minmax(0,1fr);
        gap:clamp(36px,4vw,62px);
        align-items:stretch;
    }

    .story-photo{
        position:relative;
        width:100%;
        min-height:0;
        align-self:end;
        overflow:hidden;
        border-radius:18px 18px 0 0;
        background:#f4e5e1;
    }

    .story-photo > img{
        width:100%;
        height:auto;
        object-fit:contain;
        object-position:center top;
        filter:saturate(.88) sepia(.03);
    }

    .photo-script{
        position:absolute;
        right:18px;
        bottom:16px;
        z-index:2;
        display:inline-flex;
        align-items:center;
        gap:7px;
        font-family:var(--script);
        font-size:clamp(42px,4vw,60px);
        font-weight:400;
        line-height:1;
        color:#e394a4;
        text-shadow:0 8px 20px rgba(255,255,255,.68);
    }

    .photo-script-heart{
        display:block;
        width:clamp(24px,2.3vw,34px);
        height:auto;
        flex:0 0 auto;
        object-fit:contain;
        filter:none;
    }

    .story-copy{
        position:relative;
        min-width:0;
        padding:34px clamp(30px,4vw,52px) 30px 0;
    }

    .story-copy .eyebrow{
        margin-bottom:10px;
        color:#cc909b;
        font-family:var(--script);
        font-size:40px;
        line-height:1;
        font-weight:500;
        letter-spacing:0;
        text-transform:none;
    }

    .story-copy .section-title{
        margin:0;
        color:#48383d;
        font-size:calc(clamp(42px,3.55vw,58px) - 2px);
        line-height:.98;
        font-weight:500;
    }

    .story-copy .script-name{
        font-family:inherit;
        font-size:inherit;
        font-weight:inherit;
        line-height:inherit;
        letter-spacing:inherit;
        color:#e394a4;
    }

    .story-copy .lead{
        max-width:740px;
        margin-top:18px;
        font-size:16px;
        line-height:1.68;
        color:#6d5c61;
    }

    .story-copy .highlight{
        max-width:720px;
        margin:14px 0 0;
        color:#4f4347;
        font-size:14px;
        line-height:1.68;
        font-weight:700;
    }

    .story-more{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        min-height:48px;
        margin-top:24px;
        padding:0 24px;
        border:1px solid rgba(229,166,176,.62);
        border-radius:999px;
        background:transparent;
        color:#d98999;
        font-size:11px;
        font-weight:700;
        letter-spacing:.08em;
        text-transform:uppercase;
        transition:transform .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease;
    }

    .story-more:hover{
        transform:translateY(-1px);
        background:#e993a3;
        border-color:#e993a3;
        color:#fff;
    }

    .story-botanical{
        position:absolute;
        top:18px;
        right:12px;
        display:block;
        width:clamp(120px,12vw,176px);
        height:auto;
        opacity:.34;
        pointer-events:none;
    }

    .story-botanical-draw path{
        fill:none;
        stroke:#c39aa3;
        stroke-width:2.35;
        stroke-linecap:round;
        stroke-linejoin:round;
        stroke-dasharray:1;
        stroke-dashoffset:1;
    }

    .story.botanical-drawing .story-botanical-draw path{
        animation:storyBotanicalDraw var(--draw-duration) cubic-bezier(.22,.61,.36,1) var(--draw-delay) forwards;
    }

    @keyframes storyBotanicalDraw{
        to{
            stroke-dashoffset:0;
        }
    }

    .story-stats{
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:0;
        width:100%;
        margin-top:0;
        padding:18px clamp(20px,3vw,40px);
        border-radius:0 0 18px 18px;
        background:#fbecef;
    }

    .story-stat{
        display:flex;
        align-items:center;
        gap:13px;
        min-width:0;
        padding:8px 16px;
    }

    .story-stat + .story-stat{
        border-left:1px solid rgba(222,193,199,.56);
    }

    .story-stat-icon{
        width:42px;
        flex:0 0 42px;
        display:flex;
        align-items:center;
        justify-content:center;
        align-self:center;
        color:#d98c97;
        font-size:28px;
        line-height:1;
    }

    .story-stat-copy{
        min-width:0;
        display:flex;
        flex-direction:column;
        justify-content:center;
    }

    .story-stat-copy strong{
        display:block;
        color:#46383d;
        font-family:var(--script);
        font-size:clamp(28px,2.2vw,42px);
        line-height:.9;
        font-weight:400;
    }

    .story-stat-copy span{
        display:block;
        margin-top:5px;
        color:#6f6165;
        font-size:14px;
        line-height:1.4;
    }

    .story-stat-copy small{
        font-size:.95em;
    }

    .story-curve{
        position:absolute;
        left:0;
        right:0;
        bottom:-1px;
        z-index:3;
        width:100%;
        height:clamp(82px,12vw,130px);
        pointer-events:none;
    }

    .story-curve svg{
        position:absolute;
        left:0;
        bottom:0;
        width:100%;
        height:100%;
        display:block;
        overflow:visible;
    }

    .story-curve-shape{
        fill:#fffaf7;
    }

    .story-curve-shadow{
        fill:none;
        stroke:rgba(72,42,50,.08);
        stroke-width:14;
        transform:translateY(6px);
        filter:blur(8px);
    }

    .story-curve-highlight{
        fill:none;
        stroke:rgba(255,255,255,.88);
        stroke-width:3;
        transform:translateY(-1px);
    }

    @media (prefers-reduced-motion:reduce){
        .story-botanical-draw path{
            animation:none !important;
            stroke-dashoffset:0;
        }
    }

    @media (max-width:1180px){
        .story-grid{
            grid-template-columns:minmax(280px,330px) minmax(0,1fr);
            gap:34px;
        }

        .story-copy{
            padding-right:26px;
        }

        .story-botanical{
            width:132px;
        }

        .story-stat{
            padding:8px 12px;
        }
    }

    @media (max-width:900px){
        .story{
            padding:52px 0 104px;
        }

        .story-grid{
            grid-template-columns:1fr;
            gap:0;
        }

        .story-photo{
            aspect-ratio:1.18 / 1;
            max-width:none;
        }

        .story-photo > img{
            display:block;
            height:100%;
            object-fit:cover;
            object-position:center 25%;
        }

        .story-copy{
            padding:28px 26px 30px;
        }

        .story-botanical{
            top:20px;
            right:18px;
            width:130px;
            opacity:.18;
        }

        .story-stats{
            grid-template-columns:1fr 1fr;
            margin-top:0;
            padding:12px 16px;
        }

        .story-stat{
            padding:12px 10px;
        }

        .story-stat:nth-child(3),
        .story-stat:nth-child(4){
            border-top:1px solid rgba(222,193,199,.55);
        }

        .story-stat:nth-child(3){
            border-left:0;
        }
    }

    @media (max-width:620px){
        .story{
            padding:44px 0 88px;
        }

        .story-photo{
            aspect-ratio:1.06 / 1;
        }

        .photo-script{
            right:16px;
            bottom:14px;
            font-size:52px;
        }

        .photo-script-heart{
            width:28px;
        }

        .story-copy{
            padding:24px 18px 26px;
        }

        .story-copy .section-title{
            font-size:calc(clamp(38px,12vw,52px) - 2px);
        }

        .story-copy .lead{
            margin-top:14px;
            font-size:15px;
            line-height:1.62;
        }

        .story-copy .highlight{
            font-size:14px;
            line-height:1.6;
        }

        .story-more{
            min-height:46px;
            padding:0 20px;
            font-size:10px;
        }

        .story-botanical{
            display:none;
        }

        .story-stats{
            grid-template-columns:1fr;
            margin-top:0;
            padding:10px 14px 16px;
        }

        .story-stat{
            padding:12px 8px;
        }

        .story-stat + .story-stat,
        .story-stat:nth-child(3),
        .story-stat:nth-child(4){
            border-left:0;
            border-top:1px solid rgba(222,193,199,.55);
        }

        .story-stat-copy strong{
            font-size:30px;
        }

        .story-stat-copy span{
            font-size:13px;
        }

        .story-curve{
            height:74px;
        }

        .story-curve-shadow{
            stroke-width:12;
        }
    }
