.project-gallery,.gallery-page{--ink:#1c2733;--muted:#536270;--purple:#5140a0;--edge:#5140a029;--matte:#eeecf6;--grad:linear-gradient(90deg,#5140a0 0%,#7b4fc6 55%,#a54aa8 100%);--ease-out:cubic-bezier(.22,1,.36,1);color:var(--ink);flex-direction:column;gap:32px;min-width:0;display:flex}.project-gallery :focus-visible,.gallery-page :focus-visible{outline:3px solid var(--purple);outline-offset:3px}.project-gallery .award-badge svg{fill:currentColor;stroke:none;width:15px;height:15px}.project-gallery svg,.gallery-page svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.gallery-page{flex-direction:column;gap:40px;width:min(1280px,100% - 32px);margin:0 auto;padding:24px 0 96px;display:flex}.gallery-message{text-align:center;color:var(--muted);background:#f7f6fb;border-radius:24px;margin:0;padding:56px 24px;font-size:17px}.atabs.gallery-tabs{--atabs-accent-from:#5140a0;--atabs-accent-to:#a54aa8;--atabs-muted:var(--muted);--atabs-ink:var(--purple);box-shadow:inset 0 0 0 1px var(--edge);scrollbar-width:none;box-sizing:border-box;background:#f3f1fa;overflow-x:auto}.gallery-tabs::-webkit-scrollbar{display:none}.gallery-tabs .gallery-tab:focus-visible{outline-offset:-2px}.gallery-tabs .gallery-tab[aria-pressed=true]:focus-visible{outline-color:#fff}.gallery-tabs .gallery-tab{flex:none;min-height:44px;padding:0 18px;font-size:15px}.gallery-tabs__n{font-size:13px;font-weight:500}.gallery-toolbar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.gallery-full{background:var(--grad);color:#fff;min-height:52px;font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:10px;margin-left:auto;padding:0 24px;font-size:16px;font-weight:700;display:inline-flex;box-shadow:0 12px 28px #5140a04d}.gallery-full:hover{box-shadow:0 14px 34px #5140a073}.gallery-full:active{transform:scale(.98)}.project-gallery .gallery-full svg{fill:currentColor;stroke:none}.gallery-winners{border:1px solid var(--edge);background:linear-gradient(160deg,#faf7ff 0%,#f4f5fd 55%,#fdf5ee 100%);border-radius:32px;flex-direction:column;gap:36px;min-width:0;padding:40px;display:flex}.gallery-winners__title{overflow-wrap:anywhere;margin:0;font-size:34px;font-weight:700;line-height:1.25}.gallery-winners__lead{color:var(--muted);margin:6px 0 0;font-size:16px}.gallery-winners__group{flex-direction:column;gap:18px;min-width:0;display:flex}.gallery-winners__group-title{flex-wrap:wrap;align-items:baseline;gap:4px 12px;display:flex}.gallery-winners__group-title h3{overflow-wrap:anywhere;margin:0;font-size:22px;font-weight:700}.gallery-winners__group-title span{color:var(--muted);overflow-wrap:anywhere;font-size:15px}.gallery-winners__podium{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;display:grid}.gallery-winners__podium.is-single{grid-template-columns:minmax(0,1fr)}.gallery-winners__stack{flex-direction:column;gap:24px;min-width:0;display:flex}.winner-card{text-align:left;font:inherit;color:inherit;cursor:pointer;min-width:0;transition:box-shadow .3s var(--ease-out);background:#fff;border:0;border-radius:24px;padding:0;display:flex;overflow:hidden;box-shadow:0 14px 34px #5140a01f}.winner-card:hover{box-shadow:0 22px 48px #5140a033}.winner-card--big{flex-direction:column}.winner-card--small{flex-direction:row;flex:1;align-items:stretch}.winner-card__media{background:var(--matte);display:block;position:relative;overflow:hidden}.winner-card--big .winner-card__media{aspect-ratio:1.414}.winner-card--small .winner-card__media{flex:none;width:236px;min-height:150px}.winner-card__media img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.winner-card__body{flex-direction:column;flex:1;gap:10px;min-width:0;padding:20px 24px 24px;display:flex}.winner-card--small .winner-card__body{padding:18px 20px}.winner-card__badges{flex-wrap:wrap;gap:8px;display:flex}.winner-card__title{overflow-wrap:anywhere;font-weight:700;line-height:1.25}.winner-card--big .winner-card__title{font-size:30px}.winner-card--small .winner-card__title{font-size:21px}.winner-card__team{overflow-wrap:anywhere;font-size:15px;font-weight:600}.winner-card__names{color:var(--muted);overflow-wrap:anywhere;font-size:14px;line-height:1.6}.winner-card__concept{overflow-wrap:anywhere;background:#5140a00f;border-radius:12px;margin-top:4px;padding:12px 14px;font-size:15px;line-height:1.65}.winner-card--small .winner-card__concept{padding:10px 12px;font-size:14px}.is-single .winner-card--big{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);display:grid}.is-single .winner-card--big .winner-card__body{align-self:center}.project-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px;display:grid}.work-card{text-align:left;cursor:pointer;font:inherit;color:inherit;min-width:0;animation:work-card-in .52s var(--ease-out) both;background:0 0;border:0;flex-direction:column;gap:14px;padding:0;display:flex}.project-gallery__grid .work-card:nth-child(3n+2){animation-delay:60ms}.project-gallery__grid .work-card:nth-child(3n){animation-delay:.12s}@keyframes work-card-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.work-card__media{aspect-ratio:1.414;background:var(--matte);transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out);border-radius:18px;display:block;position:relative;overflow:hidden;box-shadow:0 10px 24px #1c273314}.work-card__media img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.work-card:hover .work-card__media{transform:translateY(-4px);box-shadow:0 22px 44px #5140a038}.work-card:active .work-card__media{transform:translateY(-1px)}.work-card__broken{text-align:center;color:var(--muted);place-items:center;padding:16px;font-size:14px;display:grid;position:absolute;inset:0}.work-card__hint{min-height:36px;color:var(--purple);opacity:0;transition:opacity .2s var(--ease-out),transform .2s var(--ease-out);background:#ffffffeb;border-radius:999px;align-items:center;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex;position:absolute;bottom:12px;right:12px;transform:translateY(6px)}.work-card:hover .work-card__hint,.work-card:focus-visible .work-card__hint{opacity:1;transform:none}.work-card__awards{flex-wrap:wrap;gap:6px;max-width:calc(100% - 24px);display:flex;position:absolute;top:12px;left:12px}.work-card__cap{flex-direction:column;gap:2px;min-width:0;display:flex}.work-card__title{overflow-wrap:anywhere;font-size:18px;font-weight:600;line-height:1.4}.work-card__cat{color:var(--muted);overflow-wrap:anywhere;font-size:14px}.gallery-empty{text-align:center;color:var(--muted);background:#f7f6fb;border-radius:24px;margin:0;padding:48px 24px;font-size:16px}.gallery-pager{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:24px;display:flex}.gallery-pager button{border:1px solid var(--edge);min-width:44px;height:44px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;padding:0 12px;font-size:15px;display:inline-flex}.gallery-pager button:hover:not(:disabled){border-color:var(--purple)}.gallery-pager button.is-on{background:var(--purple);border-color:var(--purple);color:#fff;font-weight:600}.gallery-pager button:disabled{opacity:.4;cursor:default}@media (max-width:900px){.gallery-winners__podium{grid-template-columns:minmax(0,1fr)}.is-single .winner-card--big{flex-direction:column;display:flex}.project-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}}@media (max-width:600px){.gallery-winners{border-radius:24px;gap:28px;padding:24px 16px}.gallery-winners__title{font-size:26px}.winner-card--big .winner-card__title{font-size:24px}.winner-card--small{flex-direction:column}.winner-card--small .winner-card__media{aspect-ratio:1.414;width:100%;min-height:0}.gallery-tabs{align-self:stretch}.gallery-tabs .gallery-tab{flex:1 0 auto;gap:6px;padding:0 10px;font-size:14px}.gallery-toolbar{flex-direction:column;align-items:stretch;gap:12px}.gallery-full{justify-content:center;margin-left:0}.work-card{gap:10px}.work-card__media{border-radius:12px}.work-card__title{font-size:15px}.work-card__cat{font-size:12px}.work-card__hint{display:none}.gallery-pager{gap:6px;margin-top:12px}}@media (prefers-reduced-motion:reduce){.work-card{animation:none}.work-card__media,.work-card__hint,.winner-card{transition:none}.work-card:hover .work-card__media,.work-card:active .work-card__media{transform:none}}h1.gallery-page__title{overflow-wrap:anywhere;margin:0;font-size:clamp(30px,5vw,46px);font-weight:700;line-height:1.2}.gallery-hero{background:var(--matte);border-radius:32px;align-items:center;min-width:0;min-height:440px;display:flex;position:relative;overflow:hidden}.gallery-hero__bg{display:block;position:absolute;inset:0}.gallery-hero__bg img{object-fit:cover;object-position:50% 70%;width:100%;height:100%;display:block;position:absolute;inset:0}.gallery-hero__veil{background:linear-gradient(90deg,#fffffff2 0%,#ffffffdb 38%,#fff0 72%);position:absolute;inset:0}.gallery-hero__copy{box-sizing:border-box;flex-direction:column;justify-content:center;gap:12px;min-width:0;max-width:660px;padding:56px 64px;display:flex;position:relative}.gallery-hero__crumb{color:var(--muted);margin:0;font-size:15px}.gallery-hero h1{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:60px;font-weight:700;line-height:1.1}.gallery-hero__lead{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:17px;line-height:1.7}.gallery-hero__stats{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.gallery-hero__stat{border:1px solid var(--edge);min-height:42px;color:var(--muted);background:#fffc;border-radius:999px;align-items:center;gap:4px;padding:0 16px;font-size:15px;display:inline-flex}.gallery-hero__stat strong{color:var(--ink);font-size:18px}.gallery-cover__broken{text-align:center;color:var(--muted);place-items:center;padding:16px;font-size:14px;display:grid;position:absolute;inset:0}.gallery-hero .gallery-cover__broken{place-items:end center}.gallery-hubhero{background:radial-gradient(700px 480px at 4% 0,#c4b5fd99,#c4b5fd00 60%),radial-gradient(700px 480px at 70% 0,#a5c4f58c,#a5c4f500 60%),radial-gradient(800px 520px at 100% 110%,#fdceb4b3,#fdceb400 62%),linear-gradient(160deg,#f3f0fb 0%,#f1f3fc 50%,#fbf3ee 100%);border-radius:32px;flex-direction:column;gap:12px;padding:56px 64px;display:flex}.gallery-hubhero h1{overflow-wrap:anywhere;margin:0;font-size:56px;font-weight:700;line-height:1.2}.gallery-hubhero p{color:var(--muted);max-width:52ch;margin:0;font-size:18px;line-height:1.7}.gallery-hub{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:8px;display:grid}.gallery-hub__card{color:inherit;flex-direction:column;gap:14px;min-width:0;text-decoration:none;display:flex}.gallery-hub__media{aspect-ratio:1.5;background:var(--matte);transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out);border-radius:24px;display:block;position:relative;overflow:hidden;box-shadow:0 14px 34px #5140a024}.gallery-hub__media img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.gallery-hub__card:hover .gallery-hub__media{transform:translateY(-4px);box-shadow:0 22px 48px #5140a038}.gallery-hub__flag{box-sizing:border-box;color:#7a5200;background:#fff4d6;border:1px solid #f0d58a;border-radius:999px;align-items:center;gap:6px;max-width:calc(100% - 32px);min-height:34px;padding:4px 14px;font-size:14px;font-weight:700;display:inline-flex;position:absolute;top:16px;left:16px}.gallery-hub__flag svg{fill:currentColor;stroke:none;width:15px;height:15px}.gallery-hub__card h2{overflow-wrap:anywhere;margin:0;font-size:24px;font-weight:700;line-height:1.35}.gallery-hub__meta{color:var(--muted);font-size:15px}.gallery-hub__open{min-height:44px;color:var(--purple);align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}@media (max-width:900px){.gallery-hero h1{font-size:44px}.gallery-hero__copy,.gallery-hubhero{padding:40px 32px}.gallery-hubhero h1{font-size:44px}.gallery-hub{grid-template-columns:minmax(0,1fr);gap:40px}}@media (max-width:600px){.gallery-hero{border-radius:24px;min-height:0}.gallery-hero__veil{background:linear-gradient(#fffffff0 0%,#ffffffe6 60%,#ffffffb3 100%)}.gallery-hero__copy{padding:28px 20px}.gallery-hero h1{font-size:32px}.gallery-hero__lead{font-size:16px}.gallery-hubhero{border-radius:24px;padding:32px 20px}.gallery-hubhero h1{font-size:34px}.gallery-hub__media{border-radius:18px}.gallery-hub__card h2{font-size:21px}}@media (prefers-reduced-motion:reduce){.gallery-hub__media{transition:none}.gallery-hub__card:hover .gallery-hub__media{transform:none}}
