/* assets/contact-effort/effort.css */
.contact-effort{--effort-rail-size:clamp(40px,10cqw,64px);--effort-brain-size:calc(var(--effort-rail-size)*1.16);--effort-galaxy:0;--effort-glint:0;position:relative;isolation:isolate;container-type:inline-size;min-width:0;min-height:0;margin-top:auto;padding-top:8px;user-select:none;-webkit-user-select:none;filter:grayscale(1);transition:filter 900ms ease-out}
.contact-effort[data-color-active]{filter:grayscale(0);transition-duration:180ms}
.effort-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:24px}
.effort-heading label{color:#a7a6a6;font-size:14px;line-height:1.5}
.effort-level{position:relative;display:block;min-width:80px;height:1.2em;overflow:hidden;color:#ededed;font-size:20px;font-weight:400;line-height:1.2;text-align:right;letter-spacing:-.015em}
.effort-level-text{position:absolute;inset:0 0 auto;display:block;white-space:nowrap}
.effort-level-text[data-level="5"]{color:#9bcef0}
.effort-stage{position:relative;height:calc(var(--effort-rail-size) + 44px);cursor:grab;touch-action:pan-y pinch-zoom;-webkit-tap-highlight-color:transparent;border-radius:12px}
.effort-stage[data-dragging]{cursor:grabbing}
.contact-effort:has(.effort-input:focus-visible) .effort-heading label{color:#ededed}
.effort-input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;pointer-events:none}
.effort-rail{position:absolute;inset:22px 0 auto;height:var(--effort-rail-size);overflow:hidden;border:0;border-radius:calc(var(--effort-rail-size)*.2);background:#252525}
.effort-fill{position:absolute;inset:0;transform:scaleX(.24);transform-origin:left center;background:linear-gradient(90deg,#40303a,#9f6a94);opacity:1}
.effort-stops{position:absolute;inset:0 calc(var(--effort-rail-size)*.55);display:flex;justify-content:space-between;align-items:center;opacity:calc(1 - var(--effort-galaxy)*.85);pointer-events:none}
.effort-stops i{width:4px;height:4px;border-radius:50%;background:#808080;opacity:.7}
.effort-thumb{position:absolute;z-index:2;top:calc(22px + var(--effort-rail-size)/2 - var(--effort-brain-size)/2);left:calc(20% + 10px);width:var(--effort-brain-size);height:var(--effort-brain-size);transform:translateX(-50%);pointer-events:none}
.effort-brain{position:relative;display:block;width:100%;height:100%;transform-origin:50% 50%;scale:1;transition:scale 220ms cubic-bezier(.22,1,.36,1);filter:drop-shadow(0 2px 4px #55062955)}
.effort-brain img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.effort-brain-pink{opacity:calc(1 - var(--effort-galaxy))}
.effort-brain-galaxy{opacity:var(--effort-galaxy)}
.effort-brain::after{content:'';position:absolute;left:42%;top:63%;width:3px;height:3px;border-radius:1px;background:#eef2ff;box-shadow:5px 5px 0 #eef2ff,-2px 9px 0 #fff,4px 13px 0 #d2e5ff;opacity:calc(var(--effort-galaxy)*var(--effort-glint));pointer-events:none}
.effort-particles{position:absolute;z-index:1;left:calc(-1 * var(--effort-effect-left,24px));top:-104px;width:calc(100% + var(--effort-effect-left,24px) + var(--effort-effect-right,24px));height:calc(100% + 208px);pointer-events:none}
@media(hover:hover) and (pointer:fine){.effort-thumb{pointer-events:auto}.effort-thumb:hover .effort-brain,.effort-stage[data-dragging] .effort-brain{scale:1.1}}
@media(max-width:767px){.contact-effort{padding-top:4px}.effort-heading{margin-bottom:20px}.effort-level{font-size:19px}.effort-heading label{font-size:13px}}
@media(prefers-reduced-motion:reduce){.contact-effort,.contact-effort[data-color-active]{transition-duration:150ms}.effort-brain{transition:none}}

/* assets/about-logo-loop/logo-loop.css */
/* The intro remains one centered grid item, including the logo row. */
.about-intro{min-width:0}
.about-intro>.about-description{margin-bottom:0}
.about-logo-loop{
 --logo-loop-height:40px;
 --logo-loop-gap:40px;
 position:relative;
 width:100%;
 max-width:520px;
 height:108px;
 margin-top:24px;
 overflow:hidden;
 color:#ededed;
 cursor:grab;
 touch-action:pan-y pinch-zoom;
 user-select:none;
 -webkit-user-select:none;
 -webkit-tap-highlight-color:transparent;
 mask-image:linear-gradient(to right,transparent,#000 15%,#000 85%,transparent);
 -webkit-mask-image:linear-gradient(to right,transparent,#000 15%,#000 85%,transparent);
}
.about-logo-loop:focus-visible{outline:1px solid #aaa;outline-offset:4px}
.about-logo-loop[data-dragging]{cursor:grabbing}
.about-logo-loop__track{position:relative;display:flex;align-items:center;width:max-content;height:80px}
.about-logo-loop[data-running] .about-logo-loop__track{will-change:transform}
.about-logo-loop__list{position:relative;display:flex;flex:none;align-items:center;gap:var(--logo-loop-gap);height:100%;margin:0;padding:0 var(--logo-loop-gap) 0 0;list-style:none}
.about-logo-loop__item{position:relative;display:flex;flex:none;align-items:center;justify-content:center;height:var(--logo-loop-height);transform-origin:center;filter:grayscale(1);transition:filter 650ms ease-out}
.about-logo-loop__item[data-color-active]{filter:grayscale(0);transition-duration:180ms}
.about-logo-loop__item img{display:block;max-width:none;width:auto;height:var(--logo-loop-height);object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.about-logo-loop__art{position:relative;display:block;flex:none;width:calc(var(--logo-loop-height)*var(--logo-ratio,1));height:var(--logo-loop-height);overflow:hidden}
.about-logo-loop__art img{position:absolute;left:var(--logo-crop-left,0%);top:var(--logo-crop-top,0%);width:var(--logo-crop-width,100%);height:var(--logo-crop-height,100%);object-fit:fill}
.about-logo-loop__placeholder{display:flex;align-items:center;height:var(--logo-loop-height);font-size:20px;font-weight:500;line-height:1;letter-spacing:.015em;white-space:nowrap}
.about-logo-loop__name{position:absolute;left:50%;top:calc(100% + 6px);color:#aaa;font-size:11px;font-weight:400;line-height:1.4;letter-spacing:0;white-space:nowrap;opacity:0;transform:translate(-50%,3px);pointer-events:none;transition:opacity 150ms ease-out,transform 150ms ease-out}
.about-logo-loop__item[data-name-active] .about-logo-loop__name{opacity:1;transform:translate(-50%,0)}
@media(hover:hover) and (pointer:fine){.about-logo-loop__item:hover .about-logo-loop__name{opacity:1;transform:translate(-50%,0)}}
@media(max-width:767px){.about-logo-loop{margin-top:24px}}
@media(prefers-reduced-motion:reduce){.about-logo-loop__track{will-change:auto!important}}
@media(prefers-reduced-motion:reduce){.about-logo-loop__item{transition-duration:150ms}.about-logo-loop__name{transition:none}}
