/* Desktop-only editorial motion. This stylesheet is linked with a min-width media query. */
@view-transition{navigation:auto}
::view-transition-group(*){animation-duration:.82s;animation-timing-function:cubic-bezier(.22,1,.36,1)}
::view-transition-old(root){animation:pageOld .34s cubic-bezier(.7,0,.2,1) both}
::view-transition-new(root){animation:pageNew .66s cubic-bezier(.16,1,.3,1) both}
@keyframes pageOld{to{opacity:0;transform:scale(.985)}}
@keyframes pageNew{from{opacity:0;transform:scale(1.012)}}
.stage{perspective:1400px;transform-style:preserve-3d}
.stage header,.stage footer{transform-style:preserve-3d}
.gallery{perspective:1500px;transform-style:preserve-3d}
.grid-floor{transform:rotateX(1deg) translateZ(-90px);transform-origin:center bottom;opacity:.78;pointer-events:none;transition:transform 1.2s cubic-bezier(.16,1,.3,1),opacity .8s ease}
.gallery.is-pointer-active .grid-floor{transform:rotateX(3deg) translate3d(var(--floor-x,0),0,-110px);opacity:.95}
.track{transform-style:preserve-3d;pointer-events:none}
.card{transform-style:preserve-3d;will-change:transform,opacity}
.card .media{transform-style:preserve-3d;backface-visibility:hidden}
.card .media{transform:rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));transition:transform .65s cubic-bezier(.16,1,.3,1),box-shadow .7s cubic-bezier(.16,1,.3,1)}
.card .media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.15),transparent 34%,transparent 70%,rgba(0,0,0,.2));opacity:0;transition:opacity .65s ease}
.card:hover .media::after{opacity:1}
.stage header{animation:chromeIn .72s cubic-bezier(.16,1,.3,1) both;animation-delay:.12s}
.stage footer{animation:chromeIn .72s cubic-bezier(.16,1,.3,1) both;animation-delay:.34s}
@keyframes chromeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.card-entering .media{animation:cardReveal .88s cubic-bezier(.16,1,.3,1) both;animation-delay:var(--reveal-delay,0ms)}
@keyframes cardReveal{from{opacity:0;clip-path:inset(9% 7% 9% round 20px);transform:translate3d(0,34px,0) scale(.96)}to{opacity:1;clip-path:inset(0 round 20px);transform:translate3d(0,0,0) scale(1)}}
.card .media img,.card .media video{transition:opacity .55s ease,transform 1.15s cubic-bezier(.16,1,.3,1)}
@media(hover:hover){.card:hover .media img,.card:hover .media video{transform:scale(1.045)}.card:hover .media{box-shadow:0 30px 90px #000a}.card:hover .card-meta{opacity:1;transform:translateY(-3px)}}
.card:focus-visible .media img,.card:focus-visible .media video{transform:scale(1.035)}
.card .media{transition:box-shadow .7s cubic-bezier(.16,1,.3,1)}
.card-meta{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:24px;color:#fff;font-size:clamp(48px,8vw,124px);line-height:.9;letter-spacing:-.075em;text-align:center;text-wrap:balance;mix-blend-mode:difference;opacity:0;transform:translateY(18px) scale(.96);pointer-events:none;transition:opacity .48s ease,transform .72s cubic-bezier(.16,1,.3,1)}
.card.is-focused .card-meta{opacity:.94;transform:translateY(0) scale(1)}
.card.is-focused .media{box-shadow:0 38px 110px #000b}
.card:focus-visible .card-meta{opacity:1;transform:translateY(-3px)}
.feed-filter,.profile-open,footer a,.case-close,.cta-button,.external{transition:color .3s ease,background-color .3s ease,transform .45s cubic-bezier(.16,1,.3,1),opacity .3s ease}
@media(hover:hover){.feed-filter:hover,.profile-open:hover,footer a:hover,.case-close:hover,.cta-button:hover,.external:hover{transform:translateY(-3px)}}
.case-hero-frame{display:flex;flex-direction:column;gap:18px;overflow:hidden;border-radius:16px}
.case-hero-frame picture{flex:none}
.case-hero-frame .case-hero{max-height:75vh;object-fit:cover}
.case-asset{clip-path:inset(0 0 9% round 16px);transition:opacity .72s cubic-bezier(.16,1,.3,1),transform .72s cubic-bezier(.16,1,.3,1),clip-path .9s cubic-bezier(.16,1,.3,1)}
.case-asset.is-loaded{clip-path:inset(0 round 16px)}
.case-hero-frame:hover .case-asset{transform:scale(1.018)}
.case-info .brand,.case-info .eyebrow,.case-info h1,.case-info>p,.case-info .external,.case-info .status{animation:caseCopyIn .72s cubic-bezier(.16,1,.3,1) both}
.case-info .eyebrow{animation-delay:.08s}.case-info h1{animation-delay:.15s}.case-info>p{animation-delay:.22s}.case-info .external,.case-info .status{animation-delay:.3s}
@keyframes caseCopyIn{from{opacity:0;transform:translateY(22px);clip-path:inset(0 0 45%)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
.profile-layer{clip-path:circle(0 at 50% 50%);transition:clip-path .95s cubic-bezier(.76,0,.18,1),visibility .95s;visibility:hidden;background:radial-gradient(circle at 50% 50%,#21151d 0,#151116 46%,#101010f4 100%);backdrop-filter:blur(12px) saturate(.72)}
.profile-layer.is-open{clip-path:circle(150% at 50% 50%);visibility:visible}
.profile-layer .ring{animation-play-state:paused;transition:filter .8s ease,opacity .8s ease}
.profile-layer.is-open .ring{animation-play-state:running;filter:drop-shadow(0 0 13px #fff9)}
.profile-bloom{position:absolute;z-index:2;width:min(72vw,680px);height:auto;overflow:visible;pointer-events:none;opacity:.64;filter:drop-shadow(0 0 22px #ead9e455);transform:scale(.52) rotate(-18deg);transition:transform 1s cubic-bezier(.16,1,.3,1),opacity .8s ease}
.profile-layer.is-open .profile-bloom{display:block!important;opacity:.68;transform:scale(1) rotate(0deg);transition-delay:.12s}
.lily-flower{transform-box:fill-box;transform-origin:center;transform:scale(.82)}
.lily-petal,.lily-stem,.lily-leaf{fill:url(#lily-petal);fill-opacity:0;stroke:#f4eee9;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.lily-stem,.lily-leaf{fill:url(#lily-leaf);stroke:#ded6cf;stroke-width:1.15}
.profile-layer.is-open .lily-petal{animation:lilyDraw .9s cubic-bezier(.16,1,.3,1) forwards;animation-delay:var(--petal-delay,0ms)}
.profile-layer.is-open .lily-stem{animation:lilyDraw .85s .48s cubic-bezier(.16,1,.3,1) forwards}
.profile-layer.is-open .lily-leaf{animation:lilyDraw .7s .75s cubic-bezier(.16,1,.3,1) forwards}
.lily-center{fill:#fff7df;opacity:0;filter:drop-shadow(0 0 7px #fff)}
.profile-layer.is-open .lily-center{animation:lilyGlow .65s .65s ease forwards}
.bloom-dots{fill:#fff6dc;opacity:0;filter:drop-shadow(0 0 5px #fff)}
.profile-layer.is-open .bloom-dots{animation:lilyGlow .7s .8s ease forwards}
@keyframes lilyDraw{to{stroke-dashoffset:0;fill-opacity:.28}}
@keyframes lilyGlow{to{opacity:.9}}
.profile-copy{padding:24px 32px;border-radius:24px;background:radial-gradient(ellipse at center,#10101036,transparent 76%);text-shadow:0 2px 20px #000b}
.profile-copy>*{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .75s cubic-bezier(.16,1,.3,1)}
.profile-layer.is-open .profile-copy>*{opacity:1;transform:translateY(0)}
.profile-layer.is-open .profile-copy>*:nth-child(1){transition-delay:.22s}.profile-layer.is-open .profile-copy>*:nth-child(2){transition-delay:.3s}.profile-layer.is-open .profile-copy>*:nth-child(3){transition-delay:.38s}.profile-layer.is-open .profile-copy>*:nth-child(4){transition-delay:.46s}
.profile-close{opacity:0;transform:translateY(12px);transition:opacity .4s ease .3s,transform .55s cubic-bezier(.16,1,.3,1) .3s}.profile-layer.is-open .profile-close{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(root),::view-transition-new(root){animation-duration:.01ms!important}.stage header,.stage footer{animation:none}.card-entering .media{animation:none}.profile-layer,.profile-copy>*,.profile-close,.profile-bloom{transition-duration:.01ms!important;transition-delay:0ms!important}.profile-layer.is-open .lily-petal,.profile-layer.is-open .lily-stem,.profile-layer.is-open .lily-leaf,.profile-layer.is-open .lily-center,.profile-layer.is-open .bloom-dots{animation:none;stroke-dashoffset:0;fill-opacity:.28;opacity:.9}}
