/* Shared cloud-like modal motion; native dialog keeps focus and keyboard behavior. */
img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
dialog{border-radius:28px;background:linear-gradient(135deg,rgba(251,254,255,.96),rgba(225,242,253,.94));box-shadow:0 34px 95px #18446935,0 2px 8px #fff8,inset 0 1px 0 #fff;transform-origin:50% 60%;will-change:transform,opacity;overflow-x:hidden}
dialog[open]{animation:panel-arrive .52s cubic-bezier(.18,.75,.25,1) both,panel-hover 7s .52s ease-in-out infinite}
dialog[open]::backdrop{animation:veil-arrive .38s ease both;background:#153b5766;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
dialog[open] #detail-kicker,dialog[open] #detail-title,dialog[open] #detail-body>*,dialog[open] #detail-request{animation:words-arrive .48s cubic-bezier(.2,.7,.25,1) both}
dialog[open] #detail-kicker{animation-delay:.12s}dialog[open] #detail-title{animation-delay:.19s}dialog[open] #detail-body>:nth-child(1){animation-delay:.26s}dialog[open] #detail-body>:nth-child(2){animation-delay:.33s}dialog[open] #detail-body>:nth-child(n+3){animation-delay:.39s}dialog[open] #detail-request{animation-delay:.4s}
dialog[open].is-closing{animation:panel-away .26s ease-in both;pointer-events:none}
dialog[open].is-closing::backdrop{animation:veil-away .26s ease both}
dialog[open].is-closing #detail-kicker,dialog[open].is-closing #detail-title,dialog[open].is-closing #detail-body>*,dialog[open].is-closing #detail-request{animation:words-away .18s ease both}
dialog .close{border-radius:999px;min-height:42px;padding:9px 16px;background:#fff9}
#detail-title{font-family:'Segoe UI',Arial,sans-serif;font-weight:650;letter-spacing:-.8px;line-height:1.25}#detail-body p{line-height:1.85}.gallery-full{border-radius:12px}
.references-v2{position:relative}.references-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:35px}.references-heading h2{font-family:'Segoe UI',Arial,sans-serif;font-size:clamp(34px,4vw,49px);font-weight:650;letter-spacing:-1.7px;margin:0;line-height:1.18}.references-heading h2 span{display:block;color:#527c9a;font-weight:350;font-size:.72em;letter-spacing:-.7px;margin-top:10px}.references-intro{max-width:350px}.references-intro p{color:var(--muted);margin:0 0 18px;line-height:1.7}.reference-all{border-radius:999px;gap:20px;font-size:15px;box-shadow:0 5px 18px #466a8110,inset 0 1px 0 #fff}.reference-all span{font-size:23px;font-weight:400;line-height:1}.reference-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.reference-logo{margin:0;background:linear-gradient(145deg,#ffffffa6,#ffffff59);border:1px solid #ffffffe0;border-radius:21px;padding:17px 17px 12px;box-shadow:0 10px 28px #31698f0b,inset 0 1px 0 #fff;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);transition:translate .3s ease,box-shadow .3s ease,background .3s ease}.reference-logo:hover{translate:0 -5px;background:#ffffffc7;box-shadow:0 16px 32px #31698f17,inset 0 1px 0 #fff}.reference-logo-frame{height:103px;border-radius:12px;background:#ffffffd9;display:grid;place-items:center;padding:13px}.reference-logo img{display:block;width:100%;height:77px;object-fit:contain;max-width:205px}.reference-logo figcaption{padding-top:12px;font-size:13px;color:#42627a;font-weight:600;text-align:center;line-height:1.5;min-height:32px}.reference-logo:last-child{grid-column:span 2}.reference-logo:last-child .reference-logo-frame{background:#ffffff91}.reference-logo:last-child img{height:82px}.references-visible .reference-logo{animation:logo-arrive .62s calc(var(--i)*75ms) cubic-bezier(.2,.7,.3,1) both}
@keyframes panel-arrive{from{opacity:0;transform:translateY(28px) scale(.965);filter:blur(5px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes panel-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes panel-away{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(18px) scale(.978);filter:blur(3px)}}
@keyframes words-arrive{from{opacity:0;transform:translateY(9px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes words-away{to{opacity:0;transform:translateY(4px)}}
@keyframes veil-arrive{from{opacity:0}to{opacity:1}}@keyframes veil-away{from{opacity:1}to{opacity:0}}
@keyframes logo-arrive{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:760px){.references-heading{align-items:flex-start;flex-direction:column;gap:23px}.references-intro{max-width:none;display:flex;align-items:center;justify-content:space-between;width:100%;gap:20px}.references-intro p{margin:0;font-size:15px}.reference-logo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reference-logo{padding:12px;border-radius:18px}.reference-logo-frame{height:96px;padding:10px}.reference-logo img{height:70px}.reference-all{white-space:nowrap;gap:10px}dialog{border-radius:23px}}
@media(max-width:440px){.references-intro{flex-direction:column;align-items:flex-start;gap:16px}.reference-logo-frame{height:83px;padding:9px}.reference-logo img{height:63px}.reference-logo figcaption{font-size:12px}.reference-logo:last-child img{height:72px}#detail-title{font-size:27px}.gallery-dialog #detail-title{font-size:22px}}
@media(prefers-reduced-motion:reduce){dialog[open],dialog[open]::backdrop,dialog[open] #detail-kicker,dialog[open] #detail-title,dialog[open] #detail-body>*,dialog[open] #detail-request,dialog[open].is-closing,dialog[open].is-closing::backdrop,.references-visible .reference-logo{animation:none!important}dialog{will-change:auto}.reference-logo{transition:none}.reference-logo:hover{translate:none}}
