.our-story{overflow:hidden;scroll-margin-top:var(--header-height);border-bottom:1px solid var(--line)}
.our-story-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(2.5rem,6.25vw,5rem);align-items:center;max-width:1140px}
.our-story-portrait{margin:0;min-width:0;text-align:center}
.our-story-stage{position:relative;width:100%;max-width:380px;margin:0 auto}
.our-story-art{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;touch-action:manipulation}
.our-story-art:focus-visible{border-radius:190px 190px 5px 5px;outline-offset:8px}
.our-story-frame{position:relative;display:block;aspect-ratio:4/4.8;padding:10px;border:1px solid var(--gold);border-radius:200px 200px 5px 5px;transform:rotate(-2deg);transform-origin:50% 90%}
.our-story-inner{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:190px 190px 2px 2px;background:radial-gradient(ellipse at 55% 23%,var(--cream) 4%,#F4DACC 70%,#EBC1AB 100%)}
.our-story-inner::before{content:'';position:absolute;inset:12px;border:1px solid #B58A4959;border-radius:180px 180px 0 0;z-index:0}
.our-story-person{position:absolute;inset:auto 0 0;width:100%;height:96%;object-fit:contain;object-position:50% 100%;z-index:1;transform-origin:50% 100%}
.our-story-light{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(112deg,transparent 36%,#FFF0C98A 49%,transparent 60%);opacity:0;transform:translateX(-110%)}
.our-story-cake{position:absolute;width:108px;height:108px;object-fit:contain;right:-25px;bottom:14px;z-index:3;pointer-events:none;filter:drop-shadow(0 8px 5px #4B1F1417)}
.our-story-spark{position:absolute;display:block;color:var(--gold);font:1.5625rem/1 Georgia,serif;pointer-events:none}
.our-story-spark-a{left:-21px;top:24%;transform:rotate(-8deg)}
.our-story-spark-b{right:2px;top:4%;font-size:1.125rem}
.our-story-signature{margin:22px 0 0;font:italic 500 1.5625rem/1.2 var(--display);letter-spacing:-.3px}
.our-story-copy{min-width:0;padding-bottom:6px}
.our-story-kicker{display:flex;align-items:center;gap:14px;margin:0 0 22px;font-size:.875rem;line-height:1.4;letter-spacing:.15em;font-weight:500;text-transform:uppercase;color:var(--cocoa)}
.our-story-kicker::before{content:'';width:32px;height:1px;background:var(--gold)}
.our-story-copy h2{font-size:clamp(2.625rem,4.5vw,3.625rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 28px}
.our-story-copy p{font-size:1rem;line-height:1.8;margin:0 0 18px;max-width:440px}
.our-story-copy .our-story-ending{margin:28px 0 0;padding-top:22px;border-top:1px solid #B58A4966;max-width:340px;font:italic 500 1.4375rem/1.5 var(--display);color:var(--chocolate)}
.our-story.story-enter .our-story-frame{animation:story-frame-enter 1.1s cubic-bezier(.2,.7,.2,1) both}
.our-story.story-enter .our-story-person{animation:story-person-enter 1.2s .13s cubic-bezier(.2,.7,.2,1) both}
.our-story.story-enter .our-story-light{animation:story-glimmer 1.5s .75s ease both}
.our-story.story-enter .our-story-cake{animation:story-cake-welcome 1.8s .35s ease both}
.our-story.story-enter .our-story-spark{animation:story-sparkle 1.6s .8s ease both}
.our-story.story-enter .our-story-copy{animation:story-copy-enter 1s .25s ease both}
.our-story-stage.story-replay .our-story-frame{animation:story-portrait-greet 1.5s ease both}
.our-story-stage.story-replay .our-story-light{animation:story-glimmer 1.35s .15s ease both}
.our-story-stage.story-replay .our-story-cake{animation:story-cake-welcome 1.5s ease both}
.our-story-stage.story-replay .our-story-spark{animation:story-sparkle 1.4s ease both}
@keyframes story-frame-enter{from{opacity:0;transform:translateY(20px) rotate(-4deg)}to{opacity:1;transform:translateY(0) rotate(-2deg)}}
@keyframes story-person-enter{from{opacity:0;transform:translateY(32px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes story-copy-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes story-glimmer{0%{opacity:0;transform:translateX(-110%)}30%{opacity:.65}100%{opacity:0;transform:translateX(110%)}}
@keyframes story-cake-welcome{0%,100%{transform:translateY(0) rotate(0)}38%{transform:translateY(-9px) rotate(5deg)}70%{transform:translateY(-3px) rotate(-2deg)}}
@keyframes story-sparkle{0%,100%{opacity:.8;scale:1}45%{opacity:1;scale:1.2}75%{opacity:.5;scale:.93}}
@keyframes story-portrait-greet{0%,100%{transform:rotate(-2deg)}42%{transform:translateY(-5px) rotate(.7deg)}70%{transform:translateY(-2px) rotate(-2.8deg)}}
@media(max-width:900px){.our-story-grid{gap:42px}.our-story-cake{width:86px;height:86px;right:-16px}.our-story-copy h2{font-size:2.6875rem}}
@media(max-width:700px){.our-story-grid{grid-template-columns:1fr;gap:35px}.our-story-stage{width:82%;max-width:300px}.our-story-signature{font-size:1.4375rem;margin-top:20px}.our-story-copy{padding:0}.our-story-kicker{margin-bottom:17px}.our-story-copy h2{font-size:clamp(2.5rem,8.5vw,3.1rem);letter-spacing:-.03em;margin-bottom:22px}.our-story-copy p{max-width:none}.our-story-copy .our-story-ending{font-size:1.375rem;max-width:none;margin-top:24px;padding-top:20px}}
@media(prefers-reduced-motion:reduce){.our-story *,.our-story *::before{animation:none!important;transition:none!important}}
