/* Oxlyn footer CTA measured with REA v15. The public-server logo reel is Exotica's own extension. */
@font-face{font-family:"Exotica Footer Projects Geist";src:url("./geist-sans-variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
.exo-redesign .premium-footer-inner:has(>#footer-projects){padding-top:clamp(24px,3vw,40px)}
#footer-projects{--footer-project-gap:18px;--footer-project-width:210px;--footer-project-accent:#a746ff;--footer-project-duration:48s;position:relative;min-width:0;margin:0 0 48px;padding:clamp(24px,3.5vw,38.4px);overflow:hidden;border:2px solid #ffffff0d;border-radius:24px;background:radial-gradient(60% 160% at 100% 0%,#a746ff29,transparent 62%),radial-gradient(74.31% 154.58% at 50% 50%,#0000004f,#3333334f);box-shadow:none;color:#f5f5f7;font-family:"Exotica Footer Projects Geist",Inter,Arial,sans-serif} /* taste-skill-ignore: the explicit reference uses a 24px glass panel with a quiet boundary and an integrated upper-right accent field. */
#footer-projects [hidden]{display:none!important}
#footer-projects .footer-project-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px 48px;min-width:0}
#footer-projects .footer-project-copy{flex:1 1 460px;min-width:0}
#footer-projects .footer-project-eyebrow{display:inline-flex;color:#a2a2ae;font-size:10.56px;font-weight:800;line-height:1.55;letter-spacing:.2em;text-transform:uppercase}
#footer-projects h2{margin:0;color:#f5f5f7;font-family:inherit;font-size:clamp(22.4px,2.6vw,32px);font-weight:700;line-height:1.55;letter-spacing:-.02em;text-shadow:0 0 12px #ffffff4d} /* taste-skill-ignore: REA confirms this inherited 1.55 leading and static text halo in the footer CTA. */
#footer-projects h2>span{color:var(--footer-project-accent);text-shadow:0 0 12px #a746ff80} /* taste-skill-ignore: preserve the explicit reference's accent phrase, using the Exotica brand. */
#footer-projects .footer-project-copy>h2{margin-top:8px}
#footer-projects .footer-project-copy>p{max-width:640px;margin:6.4px 0 0;color:#a2a2ae;font-size:14.72px;font-weight:400;line-height:1.55}
#footer-projects .footer-project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9.6px;flex:0 1 auto;min-width:0}
#footer-projects .footer-project-button{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:8.8px;min-height:52px;max-width:100%;padding:0 28px;overflow:hidden;border:1px solid #ffffff24;border-radius:14px;font-family:inherit;font-size:15.2px;font-weight:660;line-height:1.3;letter-spacing:-.01em;white-space:nowrap;text-decoration:none;color:#fff;transition:filter .2s,box-shadow .2s,transform .14s} /* taste-skill-ignore: exact reference 52px CTA controls, 14px corners and visible boundary. */
#footer-projects .footer-project-button--primary{color:#0b0b10;background:linear-gradient(180deg,#fff,#eef0f4 46%,#b9bec9);box-shadow:inset 0 1px #fff,0 8px 24px -18px #e8eaef99} /* taste-skill-ignore: the requested reference has a silver action with a restrained inset highlight. */
#footer-projects .footer-project-button--primary::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 15%,#fff5 50%,transparent 85%);transform:translateX(-115%);transition:transform .75s cubic-bezier(.16,1,.3,1)} /* taste-skill-ignore: REA confirms a hover-only white sweep on the footer action. */
#footer-projects .footer-project-button--primary:hover::after{transform:translateX(115%)}
#footer-projects .footer-project-button--primary:hover{filter:brightness(1.04);box-shadow:inset 0 1px #fff,0 10px 28px -18px #e8eaefcc} /* taste-skill-ignore: reference hover feedback. */
#footer-projects .footer-project-button--discord{background:linear-gradient(#b45fff,#9233dc);box-shadow:inset 0 1px #ffffff40,0 8px 22px -14px #a746ffb3} /* taste-skill-ignore: Exotica purple replaces the reference's red Discord action. */
#footer-projects .footer-project-button--discord:hover{filter:brightness(1.06)}
#footer-projects .footer-project-button:active{transform:scale(.975)}
#footer-projects .footer-project-button .icon{display:block;width:16px;height:16px;flex:none}
#footer-projects .footer-project-window{min-width:0;width:100%;margin-top:26px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#7d6094 #ffffff08;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)} /* taste-skill-ignore: a transparent edge mask integrates the user-requested carousel with its containing CTA. */
#footer-projects .footer-project-track{display:flex;width:max-content;max-width:none;gap:0;transform:none}
#footer-projects .footer-project-group{display:flex;align-items:stretch;gap:var(--footer-project-gap);padding-right:var(--footer-project-gap);flex:none}
#footer-projects [data-footer-project-copy]{display:none}
#footer-projects .footer-project-card{display:flex;flex-direction:column;align-items:stretch;flex:0 0 var(--footer-project-width);width:var(--footer-project-width);height:136px;min-width:0;margin:0;padding:10px;scroll-snap-align:start;background:none;border:0;box-shadow:none}
#footer-projects .footer-project-logo-area{display:grid;place-items:center;flex:none;width:100%;height:84px;min-width:0}
#footer-projects .footer-project-logo-crop{position:relative;width:min(100%,calc(84px * var(--project-ratio)));max-height:84px;aspect-ratio:var(--project-ratio);overflow:hidden}
#footer-projects .footer-project-cropped-image{position:absolute;display:block;max-width:none;margin:0;object-fit:fill;user-select:none}
#footer-projects .footer-project-logo-image{display:block;width:100%;height:100%;max-height:84px;object-fit:contain;user-select:none}
#footer-projects figcaption{margin-top:9px;color:#cbc7d2;font-size:13px;font-weight:550;line-height:20px;text-align:center;white-space:nowrap}
#footer-projects .footer-project-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin-top:12px}
#footer-projects .footer-project-hint{color:#898390;font-size:11px;line-height:1.5}
#footer-projects .footer-project-navigation{display:flex;align-items:center;gap:8px;margin-left:auto}
#footer-projects .footer-project-control{display:grid;place-items:center;width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border:1px solid #ffffff24;border-radius:50%;background:#ffffff08;box-shadow:none;color:#cbc1d5;cursor:pointer;transition:background .2s,border-color .2s} /* taste-skill-ignore: accessible carousel controls need the same quiet circular boundary as the approved script carousel. */
#footer-projects .footer-project-control:hover{background:#a746ff1a;border-color:#b976ec80}
#footer-projects .footer-project-control .icon,#footer-projects .footer-project-control>svg{display:block;width:15px;height:15px}
#footer-projects .footer-project-control>svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#footer-projects .footer-project-play{fill:currentColor;stroke:none}
#footer-projects [data-footer-project-toggle][aria-pressed=false] .footer-project-play,#footer-projects [data-footer-project-toggle][aria-pressed=true] .footer-project-pause{display:none}
#footer-projects [data-footer-project-prev] .icon{transform:rotate(180deg)}
#footer-projects .footer-project-window[data-mode=auto]{overflow:hidden;scroll-snap-type:none;scrollbar-width:none}
#footer-projects .footer-project-window[data-mode=auto] [data-footer-project-copy],#footer-projects .footer-project-window[data-loop-preserved=true] [data-footer-project-copy]{display:flex}
#footer-projects .footer-project-window[data-mode=auto] .footer-project-track{animation:exo-footer-project-loop var(--footer-project-duration) linear infinite;animation-delay:var(--footer-project-delay,0s);animation-play-state:paused;will-change:transform}
#footer-projects .footer-project-window[data-mode=auto][data-playing=true] .footer-project-track{animation-play-state:running}
#footer-projects .footer-project-window[data-mode=manual]{cursor:grab}
#footer-projects .footer-project-window[data-loop-preserved=true]{scroll-snap-type:none}
#footer-projects .footer-project-window[data-dragging=true]{scroll-snap-type:none;cursor:grabbing}
#footer-projects .footer-project-window:focus-visible{-webkit-mask-image:none;mask-image:none}
#footer-projects :is(a,button,.footer-project-window):focus-visible{outline:2px solid #cd9bff;outline-offset:4px}
@keyframes exo-footer-project-loop{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:900px){#footer-projects .footer-project-header{align-items:flex-start;flex-direction:column;gap:20px}#footer-projects .footer-project-copy{flex:auto}#footer-projects .footer-project-window{-webkit-mask-image:none;mask-image:none}}
@media(max-width:560px){#footer-projects .footer-project-actions{align-items:stretch;flex-direction:column;width:100%}#footer-projects .footer-project-actions>a{width:100%}#footer-projects .footer-project-controls{align-items:flex-start}#footer-projects .footer-project-hint{max-width:150px}#footer-projects .footer-project-window{margin-top:22px}#footer-projects{--footer-project-width:200px;--footer-project-gap:14px;margin-bottom:36px}}
@media(hover:none){#footer-projects .footer-project-window{-webkit-mask-image:none;mask-image:none}}
@media(prefers-reduced-motion:reduce){#footer-projects .footer-project-window[data-mode=auto]{overflow-x:auto;scroll-snap-type:x mandatory}#footer-projects .footer-project-window[data-mode=auto] .footer-project-track{animation:none;will-change:auto}#footer-projects .footer-project-window[data-mode=auto] [data-footer-project-copy]{display:none}#footer-projects .footer-project-button,#footer-projects .footer-project-button::after,#footer-projects .footer-project-control{transition:none}#footer-projects .footer-project-button--primary::after{display:none}#footer-projects .footer-project-button:active{transform:none}}
