/* Colorful, accessible logo request and upload interactions */
.logo-request-anchor{scroll-margin-top:105px}
.services:has(.request-card){gap:16px}
.services:has(.request-card) .service-card{padding:0;min-height:0;overflow:hidden;border-radius:18px}
.request-card{position:relative;width:100%;min-height:182px;padding:24px;display:grid;grid-template-columns:68px 1fr;grid-template-rows:1fr auto;gap:12px 18px;text-align:left;color:#f7f8f4;background:linear-gradient(135deg,#171d22 0%,#111616 55%,#121817 100%);border:0;cursor:pointer;overflow:hidden}
.request-card:before{content:"";position:absolute;inset:0;opacity:.22;pointer-events:none;background:radial-gradient(circle at 86% 5%,#ff4fa455,transparent 27%),radial-gradient(circle at 20% 100%,#b1ff2f38,transparent 38%)}
.file-card .request-card:before{background:radial-gradient(circle at 86% 5%,#4bd9ff5c,transparent 28%),radial-gradient(circle at 20% 100%,#ffb83e40,transparent 38%)}
.request-card>*{position:relative;z-index:1}
.request-card:hover .request-card-icon,.request-card:focus-visible .request-card-icon{transform:translateY(-3px) rotate(-4deg)}
.request-card:focus-visible{outline:3px solid #d5ff49;outline-offset:-4px}
.request-card-icon{grid-row:1 / span 2;width:62px;height:62px;display:grid;place-items:center;border-radius:19px;color:#111;background:linear-gradient(135deg,#d9ff42,#8df0bc 65%,#52dcff);box-shadow:0 8px 30px #a4f51c24;transition:transform .25s}
.request-card-icon svg{width:37px;height:37px}
.file-icon{color:#09151b;background:linear-gradient(140deg,#73edff,#7e8cff 55%,#f6a3ed)}
.idea-icon svg{animation:idea-bob 3s ease-in-out infinite}
.file-icon svg{animation:upload-float 2.8s ease-in-out infinite}
.request-card-copy{display:flex;flex-direction:column;gap:5px;align-self:center}
.request-card-overline{font-size:9px;letter-spacing:1.8px;font-weight:850;color:#b9fb57}
.file-card .request-card-overline{color:#73edff}
.request-card-copy strong{font-size:21px;line-height:1.2;letter-spacing:-.4px}
.request-card-copy>span:last-child{max-width:390px;color:#c2cbc9;font-size:12px;line-height:1.5}
.request-card-action{grid-column:2;justify-self:start;display:inline-flex;align-items:center;gap:9px;margin-top:3px;padding:8px 12px;border:1px solid #b9fb5780;border-radius:999px;color:#d6ff70;font-size:11px;font-weight:800;transition:background .2s,color .2s,transform .2s}
.file-card .request-card-action{border-color:#73edff80;color:#9af1ff}
.request-card:hover .request-card-action{transform:translateX(3px);background:#a5f51c17}
.file-card .request-card:hover .request-card-action{background:#53dfff17}
.upload-field>label span{color:#ff83ba}
.upload-zone{position:relative;min-height:218px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:22px;border:1.5px dashed #8090ff;border-radius:17px;text-align:center;background:radial-gradient(ellipse at 20% 15%,#bd6bff1d,transparent 44%),radial-gradient(ellipse at 85% 82%,#43e4ff18,transparent 42%),linear-gradient(135deg,#111820,#12131e);cursor:pointer;overflow:hidden;transition:border-color .2s,transform .2s,background .2s,box-shadow .2s}
.upload-zone:after{content:"";position:absolute;inset:7px;border:1px solid #ffffff0c;border-radius:12px;pointer-events:none}
.upload-zone:hover,.upload-zone:focus-visible,.upload-zone.is-dragover{border-color:#c6ff51;box-shadow:0 0 0 4px #a5f51c18,0 0 38px #66dfff13;outline:none;transform:translateY(-1px)}
.upload-zone>input[type=file]{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;cursor:pointer!important;z-index:3!important;padding:0!important}
.upload-art{width:54px;height:54px;display:grid;place-items:center;margin-bottom:2px;border-radius:17px;color:#10151b;background:linear-gradient(140deg,#d9ff49,#58ebd2 55%,#79aaff);box-shadow:0 8px 25px #58ebd233;animation:upload-float 2.8s ease-in-out infinite}
.upload-art svg{width:35px;height:35px}
.upload-zone>strong{font-size:16px;color:#fff}
.upload-subline{font-size:12px;color:#c4cbce}
.upload-cta{display:inline-flex;align-items:center;gap:5px;padding:8px 14px;margin-top:4px;border-radius:999px;background:linear-gradient(100deg,#cbff4c,#7ce4ff);color:#0b1314;font-size:11px;font-weight:900;box-shadow:0 7px 22px #9bff4533}
.upload-rules{font-size:9px;line-height:1.6;color:#aab5c3;letter-spacing:.25px;margin-top:1px}
.upload-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}
.upload-file{display:flex;align-items:center;gap:9px;min-width:0;padding:9px;border:1px solid #ffffff1c;border-radius:11px;background:linear-gradient(120deg,#17211c,#151821);animation:file-in .2s ease-out}
.upload-file-icon{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;color:#111;background:linear-gradient(135deg,#d6ff4c,#73e8d0);font-size:9px;font-weight:950;text-transform:uppercase}
.upload-file-copy{min-width:0;display:flex;flex-direction:column;gap:2px;flex:1}
.upload-file-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#f5f8f6}
.upload-file-copy small{font-size:9px;color:#aab4b2}
.upload-remove{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border:1px solid #ffffff20;border-radius:50%;background:#ffffff09;color:#ff9cb9;font-size:17px;cursor:pointer}
.upload-remove:hover{background:#ff4f7b23;border-color:#ff83a8}
.upload-summary{grid-column:1/-1;color:#bcd1c1;font-size:10px;padding:1px 3px}
.upload-message{grid-column:1/-1;color:#ff9ab1;font-size:11px;margin:0}
@keyframes upload-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes idea-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(3deg)}}
@keyframes file-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){.services:has(.request-card){grid-template-columns:1fr}.request-card{min-height:160px;padding:19px;grid-template-columns:53px 1fr;gap:10px 13px}.request-card-icon{width:50px;height:50px;border-radius:15px}.request-card-icon svg{width:31px;height:31px}.request-card-copy strong{font-size:18px}.request-card-copy>span:last-child{font-size:11px}.request-card-action{font-size:10px;padding:7px 10px}.upload-zone{min-height:200px;padding:18px}.upload-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.idea-icon svg,.file-icon svg,.upload-art{animation:none!important}.request-card-icon,.request-card-action,.upload-zone{transition:none}}
