:root{--ucg-blue:#075fd8;--ucg-ink:#242424;--ucg-line:#c9c9c9;--ucg-paper:#fff;--ucg-ease:cubic-bezier(.22,1,.36,1)}
body:not(.home){background:#fff;color:var(--ucg-ink);font-family:var(--body,"Manrope",Arial,sans-serif);overflow-x:hidden}
body.ucg-menu-open{overflow:hidden}
.ucg-inner-nav{align-items:center;background:#fff;border-bottom:1px solid #ddd;display:flex;height:84px;justify-content:space-between;left:0;padding:0 clamp(24px,5vw,76px);position:fixed;right:0;top:0;z-index:1040}
.admin-bar .ucg-inner-nav{top:32px}.ucg-inner-nav__logo img{height:48px;width:auto}.ucg-inner-nav__actions{align-items:center;display:flex;gap:28px}.ucg-menu-trigger,.ucg-call-link{align-items:center;background:none;border:0;color:var(--ucg-ink);display:flex;font-size:15px;gap:12px;text-decoration:none}.ucg-menu-trigger i{font-size:26px}.ucg-call-link{background:var(--ucg-ink);color:#fff;min-width:145px;padding:15px 19px;justify-content:space-between}
.ucg-menu-shell{inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .35s ease;visibility:hidden;z-index:1200}.ucg-menu-shell.is-open{opacity:1;pointer-events:auto;visibility:visible}.ucg-menu-backdrop{backdrop-filter:blur(7px);background:rgba(0,0,0,.58);border:0;inset:0;position:absolute;width:100%}.ucg-menu-panel{background:#fff;display:flex;flex-direction:column;height:100%;max-width:720px;padding:34px clamp(28px,5vw,72px) 54px;position:absolute;right:0;top:0;transform:translateX(100%);transition:transform .7s var(--ucg-ease);width:min(46vw,720px)}.ucg-menu-shell.is-open .ucg-menu-panel{transform:none}.ucg-menu-panel__head{align-items:center;display:flex;justify-content:space-between}.ucg-menu-panel__head img{height:54px}.ucg-menu-panel__head button{background:none;border:0;font-size:24px;padding:12px}.ucg-menu-links{margin-top:clamp(50px,9vh,110px)}.ucg-menu-links>a,.ucg-menu-links>button{align-items:center;background:none;border:0;border-bottom:1px solid #bdbdbd;color:var(--ucg-ink);display:flex;font-size:clamp(34px,3.1vw,58px);font-weight:400;justify-content:space-between;padding:18px 0;text-align:left;text-decoration:none;width:100%}.ucg-menu-links i{font-size:.5em}.ucg-menu-submenu{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ucg-ease)}.ucg-menu-submenu>div{overflow:hidden}.ucg-menu-submenu.is-open{grid-template-rows:1fr}.ucg-menu-submenu a{align-items:center;border-bottom:1px solid #ddd;color:#505050;display:flex;font-size:22px;justify-content:space-between;padding:16px 24px;text-decoration:none}.ucg-menu-contact{align-items:center;background:var(--ucg-blue);color:#fff;display:flex;font-size:21px;justify-content:space-between;margin-top:auto;overflow:hidden;padding:22px 24px;text-decoration:none}.ucg-menu-contact i{background:#fff;border-radius:50%;color:#111;padding:12px 15px}
.ucg-figma-page{font-family:var(--body);padding-top:84px}.ucg-figma-page h1,.ucg-figma-page h2,.ucg-figma-page h3{font-family:var(--display);font-stretch:condensed;font-weight:500;letter-spacing:0}.ucg-figma-page h1{font-size:clamp(54px,7.2vw,112px);line-height:.94}.ucg-figma-page h2{font-size:clamp(42px,5vw,78px);line-height:1}.ucg-eyebrow{align-items:center;color:#075fd8;display:flex;font-family:var(--body);font-size:12px;font-weight:600;gap:12px;letter-spacing:.35em;margin-bottom:24px;text-transform:uppercase}.ucg-eyebrow span{background:currentColor;border-radius:50%;height:7px;width:7px}.ucg-eyebrow--light{color:#fff}.ucg-section-heading{max-width:900px}.ucg-button{align-items:center;display:flex;font-family:var(--body);font-weight:500;justify-content:space-between;min-width:280px;overflow:hidden;padding:20px 22px;text-decoration:none;width:max-content}.ucg-button--blue{background:var(--ucg-blue);color:#fff}.ucg-button--light{background:#fff;color:#222}.ucg-shine{overflow:hidden;position:relative}.ucg-shine:before{background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.58) 45%,transparent 70%);content:"";height:200%;left:-150%;position:absolute;top:-50%;transform:skewX(-18deg);transition:left .7s ease;width:60%}.ucg-shine:hover:before,.ucg-shine:focus-visible:before{left:150%}[data-inner-reveal]{opacity:0;transform:translateY(35px);transition:opacity .85s var(--ucg-ease),transform .85s var(--ucg-ease)}[data-inner-reveal].is-visible{opacity:1;transform:none}
.ucg-service-intro{padding-bottom:90px;padding-top:110px}.ucg-service-intro h1{max-width:1220px}.ucg-service-wordmark{align-items:center;background-image:linear-gradient(rgba(255,255,255,.08),rgba(255,255,255,.08)),var(--service-image);background-position:center;background-size:cover;display:flex;height:min(72vw,850px);justify-content:center;overflow:hidden;position:relative}.ucg-service-wordmark__veil{background:rgba(255,255,255,.42);inset:0;position:absolute}.ucg-service-wordmark p{color:transparent;font-size:clamp(78px,15vw,255px);font-weight:900;letter-spacing:-.08em;line-height:.67;margin:0;position:relative;-webkit-text-stroke:2px rgba(255,255,255,.96);text-align:center}.ucg-service-wordmark p span{display:block;margin-left:.55em}.ucg-service-story,.ucg-service-feature>.container-xl{align-items:center;display:grid;gap:clamp(50px,8vw,140px);grid-template-columns:1fr 1fr;padding-bottom:130px;padding-top:130px}.ucg-service-story__copy h2,.ucg-service-feature h2{font-size:clamp(40px,4.6vw,68px);margin-bottom:30px}.ucg-service-story__copy>p,.ucg-rich-copy,.ucg-service-feature div>p{font-size:18px;line-height:1.7;margin-bottom:35px}.ucg-service-story figure,.ucg-service-feature figure{height:680px;margin:0;overflow:hidden}.ucg-service-story img,.ucg-service-feature img{height:100%;object-fit:cover;width:100%}.ucg-service-feature{background:#f4f4f2}.ucg-service-feature figure{order:0}.ucg-service-feature>.container-xl>div{order:1}.ucg-related-work,.ucg-service-reasons,.ucg-service-faq{padding-bottom:130px;padding-top:130px}.ucg-related-grid{display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-top:64px}.ucg-project-card__visual{display:block;height:460px;overflow:hidden;position:relative}.ucg-project-card__visual img{height:100%;object-fit:cover;transition:transform .7s var(--ucg-ease);width:100%}.ucg-project-card__visual span{align-items:center;background:#fff;bottom:18px;color:#222;display:flex;height:48px;justify-content:center;position:absolute;right:18px;width:48px}.ucg-project-card:hover img{transform:scale(1.045)}.ucg-project-card__copy{padding-top:20px}.ucg-project-card__copy p{color:#6b6b6b;font-size:13px;letter-spacing:.14em;margin:0 0 8px;text-transform:uppercase}.ucg-project-card__copy h3{font-size:31px;line-height:1.05}.ucg-project-card__copy a{color:inherit;text-decoration:none}.ucg-trust-band{background-attachment:fixed;background-image:linear-gradient(rgba(0,0,0,.52),rgba(0,0,0,.52)),var(--trust-image);background-position:center;background-size:cover;color:#fff;min-height:650px;padding:100px 0}.ucg-trust-band>.container-xl{align-items:end;display:grid;gap:45px;grid-template-columns:1.35fr .65fr;min-height:450px}.ucg-trust-band h2{font-size:clamp(58px,6.5vw,106px);font-weight:700;max-width:950px}.ucg-trust-band p:not(.ucg-eyebrow){font-size:19px;max-width:620px}.ucg-consult-card{background:var(--ucg-blue);color:#fff;display:grid;gap:25px;padding:30px;text-decoration:none}.ucg-consult-card strong{font-size:26px}.ucg-consult-card span{max-width:260px}.ucg-consult-card i{background:#fff;border-radius:50%;color:#222;grid-column:2;grid-row:1/3;padding:13px 16px;place-self:center}.ucg-inner-reasons{display:grid;gap:1px;grid-template-columns:repeat(3,1fr);margin-top:64px}.ucg-inner-reason{border:1px solid #c9c9c9;min-height:340px;padding:36px;position:relative}.ucg-inner-reason>i{color:#075fd8;font-size:52px}.ucg-inner-reason h3{font-size:32px;margin:50px 0 15px}.ucg-inner-reason>p:last-child{color:#5f5f5f;line-height:1.6}.ucg-card-index{color:#075fd8;font-size:12px;letter-spacing:.2em;position:absolute;right:30px;top:30px}.ucg-inner-testimonial{background:#075fd8;color:#fff;padding:125px 0}.ucg-inner-testimonial .container-xl{max-width:1100px;text-align:center}.ucg-inner-testimonial i{font-size:60px}.ucg-inner-testimonial blockquote{font-size:clamp(34px,4.2vw,64px);letter-spacing:-.03em;line-height:1.08}.ucg-service-faq{display:grid;gap:80px;grid-template-columns:.85fr 1.15fr}.ucg-inner-faq .accordion-item{border:0;border-bottom:1px solid #c8c8c8}.ucg-inner-faq .accordion-button{background:none!important;box-shadow:none!important;color:#222;font-size:20px;padding:24px 0}.ucg-inner-faq .accordion-button:not(.collapsed){color:#075fd8}.ucg-inner-faq .accordion-body{color:#666;line-height:1.7;padding:0 0 24px}.ucg-inner-cta{background:#075fd8;color:#fff;padding:80px 0}.ucg-inner-cta>.container-xl{align-items:center;display:flex;gap:50px;justify-content:space-between}.ucg-inner-cta h2{font-size:clamp(42px,4.7vw,74px);max-width:850px}
.ucg-featured-rail{overflow:hidden;padding:0 0 100px;position:relative}.ucg-featured-rail--dark{background:#202020;padding-bottom:50px;padding-top:50px}.ucg-featured-track{display:flex;gap:18px;overflow-x:hidden;padding:0 5vw;scroll-behavior:smooth;scrollbar-width:none}.ucg-featured-track::-webkit-scrollbar{display:none}.ucg-gallery-page .ucg-featured-rail:not(.ucg-featured-rail--dark) .ucg-featured-track article{flex:0 0 320px;transition:flex-basis 0.6s cubic-bezier(0.25, 1, 0.5, 1);cursor:pointer}.ucg-gallery-page .ucg-featured-rail:not(.ucg-featured-rail--dark) .ucg-featured-track article.is-active{flex:0 0 880px}
.ucg-gallery-page .ucg-featured-rail--dark .ucg-featured-track article{flex:0 0 min(52vw,760px);height:560px;margin:0;transition:none;cursor:pointer}.ucg-gallery-page .ucg-featured-rail--dark .ucg-featured-track article:nth-child(even){flex-basis:min(32vw,480px)}.ucg-gallery-page .ucg-featured-rail--dark .ucg-featured-track article img{height:100%;object-fit:cover;width:100%}
.ucg-project-intro{text-align:center}.ucg-project-intro .ucg-eyebrow{justify-content:center}.ucg-project-intro h1{margin-inline:auto;max-width:1050px}.ucg-project-intro>p:last-child{font-size:18px;margin:30px auto 0;max-width:720px}.ucg-project-compare{height:min(82vw,900px);overflow:hidden;position:relative}.ucg-project-compare>img,.ucg-project-compare__after,.ucg-project-compare__after img{height:100%;object-fit:cover;width:100%}.ucg-project-compare__after{clip-path:inset(var(--compare-y) 0 0 0);inset:0;position:absolute}.ucg-project-compare__after img{position:absolute}.ucg-project-compare:after{background:#fff;content:"";height:2px;left:0;position:absolute;right:0;top:var(--compare-y);transform:translateY(-1px)}.ucg-compare-handle{align-items:center;background:#fff;border:0;border-radius:50%;display:flex;height:58px;justify-content:center;left:50%;position:absolute;top:var(--compare-y);transform:translate(-50%,-50%);width:58px;z-index:2}.ucg-compare-label{background:rgba(0,0,0,.55);color:#fff;padding:8px 14px;position:absolute;z-index:2}.ucg-compare-label--before{left:3%;top:3%}.ucg-compare-label--after{bottom:3%;right:3%}.ucg-project-media{background:#202020;color:#fff;padding:90px 0 55px}.ucg-project-media__track{display:flex;gap:20px;overflow-x:auto;padding:0 6vw 30px;scroll-behavior:smooth;scrollbar-width:none}.ucg-project-media__track::-webkit-scrollbar{display:none}.ucg-project-media figure{flex:0 0 min(52vw,760px);height:560px;margin:0}.ucg-project-media figure:nth-child(even){flex-basis:min(32vw,480px)}.ucg-project-media img{height:100%;object-fit:cover;width:100%}.ucg-project-media__controls{align-items:center;display:flex;gap:12px;margin:0 auto;max-width:88vw}.ucg-project-media__controls>div{background:#555;height:2px;margin-right:20px;overflow:hidden;width:100%}.ucg-project-media__controls>div span{background:#fff;display:block;height:100%;transform:scaleX(.12);transform-origin:left;transition:transform .25s}.ucg-project-media__controls button{background:none;border:1px solid #777;color:#fff;height:48px;min-width:48px}
.ucg-inner-footer{margin-top:0}.ucg-inner-footer .footer-logo{filter:brightness(0) invert(1)}
@media (max-width:991px){.admin-bar .ucg-inner-nav{top:46px}.ucg-menu-panel{max-width:none;width:min(88vw,650px)}.ucg-service-story,.ucg-service-feature>.container-xl,.ucg-service-faq,.ucg-trust-band>.container-xl{grid-template-columns:1fr}.ucg-service-story figure,.ucg-service-feature figure{height:520px}.ucg-related-grid,.ucg-inner-reasons{grid-template-columns:repeat(2,1fr)}.ucg-inner-cta>.container-xl{align-items:flex-start;flex-direction:column}.ucg-gallery-page .ucg-featured-track article{flex-basis:280px}.ucg-gallery-page .ucg-featured-track article.is-active{flex-basis:75vw}.ucg-gallery-toolbar>.container-xl{align-items:flex-start;flex-direction:column}.ucg-gallery-toolbar{top:84px}}
@media (max-width:767px){.ucg-inner-nav{height:70px;padding-inline:18px}.ucg-inner-nav__logo img{height:38px}.ucg-call-link{display:none}.ucg-figma-page{padding-top:70px}.ucg-menu-panel{padding:24px;width:100%}.ucg-menu-links>a,.ucg-menu-links>button{font-size:37px}.ucg-service-intro,.ucg-gallery-intro,.ucg-project-intro{padding-bottom:55px;padding-top:75px}.ucg-service-wordmark{height:75vh}.ucg-service-story,.ucg-service-feature>.container-xl,.ucg-related-work,.ucg-service-reasons,.ucg-service-faq{padding-bottom:80px;padding-top:80px}.ucg-service-story figure,.ucg-service-feature figure{height:420px}.ucg-related-grid,.ucg-inner-reasons,.ucg-gallery-grid{grid-template-columns:1fr}.ucg-gallery-grid .ucg-project-card:nth-child(3n){grid-column:auto}.ucg-gallery-grid .ucg-project-card:nth-child(3n) .ucg-project-card__visual,.ucg-project-card__visual{height:420px}.ucg-inner-reason{min-height:290px}.ucg-trust-band{background-attachment:scroll}.ucg-trust-band h2{font-size:50px}.ucg-gallery-page .ucg-featured-track article,.ucg-gallery-page .ucg-featured-track article:nth-child(even){flex-basis:240px}.ucg-gallery-page .ucg-featured-track article.is-active,.ucg-gallery-page .ucg-featured-track article.is-active:nth-child(even){flex-basis:86vw}.ucg-featured-track a{height:520px}.ucg-gallery-toolbar{position:relative;top:auto}.ucg-gallery-filters{flex-wrap:wrap}.ucg-project-compare{height:80vh}.ucg-project-media figure,.ucg-project-media figure:nth-child(even){flex-basis:86vw;height:480px}.ucg-inner-cta{padding:60px 0}.ucg-button{min-width:0;width:100%}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}[data-inner-reveal]{opacity:1;transform:none;transition:none}.ucg-menu-panel,.ucg-featured-track,.ucg-project-media__track{scroll-behavior:auto}.ucg-shine:before{display:none}}

/* Inner menu accordion and Figma footer quote overrides. */
.ucg-menu-submenu{display:block;max-height:0;overflow:hidden;transition:max-height .45s var(--ucg-ease)}
.ucg-menu-submenu.is-open{max-height:180px}
.ucg-footer-quote{border-bottom:1px solid rgba(255,255,255,.25);padding:100px 0}
.ucg-footer-quote>.container-xl{display:grid;gap:80px;grid-template-columns:.8fr 1.2fr}
.ucg-footer-quote h2{color:#fff;font-size:clamp(52px,6vw,92px);letter-spacing:-.04em}
.ucg-footer-quote>div>div>p:last-child{color:#bbb;font-size:18px;line-height:1.65;max-width:520px}
.ucg-footer-quote .ucg-page-quote{background:transparent;margin:0;max-width:none;padding:0}
.ucg-footer-quote .quote-form label{color:#fff}
.ucg-footer-quote .form-control{background:transparent;border:0;border-bottom:1px solid #777;border-radius:0;color:#fff;padding-left:0}
.ucg-footer-quote .form-control:focus{border-color:#fff;box-shadow:none}
.ucg-footer-quote .btn{background:#075fd8;border:0;border-radius:0;padding:18px 24px;width:100%}
@media (max-width:991px){.ucg-footer-quote>.container-xl{grid-template-columns:1fr}}

/* Home-matched responsive display hierarchy for Gallery and Project pages. */
.ucg-figma-page h1 {
  font-size: clamp(3.2rem, 5.79vw, 6.25rem);
  line-height: .98;
}
.ucg-figma-page h2 {
  font-size: clamp(2.4rem, 4.5vw, 5rem);
  line-height: 1.04;
}
.ucg-featured-track span,
.ucg-project-card__copy h3 {
  font-family: var(--display);
  font-stretch: condensed;
  font-weight: 500;
}
@media (min-width: 992px) and (min-height: 651px) and (max-height: 900px) {
  .ucg-figma-page h1 {
    font-size: clamp(3.4rem, min(6vw, 10vh), 5.4rem);
  }
}
.ucg-inner-nav .ucg-menu-trigger,
.ucg-inner-nav .ucg-call-link {
  font-family: var(--body);
  font-size: 1rem;
  font-weight: 600;
}

/* The shared Home navbar now sits above every inner-page story. */
.ucg-figma-page {
  padding-top: clamp(84px, 6.94vw, 120px);
}
@media (max-width: 991px) {
  .ucg-figma-page {
    padding-top: 75px;
  }
}

/* Figma Gallery node 113:1687. Header and footer intentionally remain shared with Home. */
.ucg-gallery-page {
  --gallery-blue: #004cc1;
  overflow-x: clip;
}
body:not(.home):has(.ucg-gallery-page) { overflow-x: clip; }
.ucg-gallery-shell {
  margin-inline: auto;
  max-width: 1452px;
  padding-inline: 18px;
  position: relative;
  width: 100%;
}
.ucg-gallery-page .ucg-gallery-intro {
  padding: clamp(92px, 9vw, 155px) 0 28px;
  position: relative;
}
.ucg-gallery-page .ucg-gallery-intro h1 {
  font-size: clamp(60px, 6.37vw, 110px);
  font-weight: 800;
  line-height: 1.11;
  margin: 0;
  max-width: 1354px;
  position: relative;
  z-index: 1;
}
.ucg-gallery-intro__art {
  height: 710px;
  pointer-events: none;
  position: absolute;
  right: -305px;
  top: -260px;
  transform: rotate(-33deg);
  width: 700px;
  z-index: 0;
}
.ucg-gallery-intro__art img {
  height: auto;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}
.ucg-gallery-intro__art img:first-child { width: 633px; animation: ucg-spin-slow 30s linear infinite; }
.ucg-gallery-intro__art img:last-child { width: 449px; animation: ucg-spin-slow-reverse 20s linear infinite; }

@keyframes ucg-spin-slow {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(360deg); }
}

@keyframes ucg-spin-slow-reverse {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to { transform: translate(-50%, -50%) rotate(-360deg); }
}
.ucg-gallery-intro__footer {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: clamp(42px, 4vw, 68px);
  position: relative;
  z-index: 2;
}
.ucg-gallery-page .ucg-eyebrow {
  font-family: var(--body);
  font-size: .78rem;
  font-weight: 600;
  gap: 19px;
  letter-spacing: .38em;
  line-height: 1.5;
  margin: 0;
  text-transform: uppercase;
}
.ucg-gallery-page .ucg-eyebrow span { height: 12px; width: 12px; }
.ucg-gallery-rail-controls { display: flex; gap: 20px; }
.ucg-gallery-rail-controls button {
  align-items: center;
  background: #fff;
  border: 1px solid #252525;
  color: #252525;
  display: inline-flex;
  height: 63px;
  justify-content: center;
  transition: background-color .3s ease, color .3s ease;
  width: 63px;
}
.ucg-gallery-rail-controls button:hover,
.ucg-gallery-rail-controls button:focus-visible {
  background: var(--gallery-blue);
  border-color: var(--gallery-blue);
  color: #fff;
}
.ucg-gallery-page .ucg-featured-rail {
  margin-inline: auto;
  max-width: 1728px;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
}
.ucg-gallery-page .ucg-featured-track {
  --ucg-gallery-rail-padding: clamp(9px, 2.03vw, 35px);
  gap: clamp(10px, 2.03vw, 35px);
  overflow-x: hidden;
  overscroll-behavior-inline: contain;
  padding: 0 var(--ucg-gallery-rail-padding);
  scroll-behavior: smooth;
  scroll-padding-left: var(--ucg-gallery-rail-padding);
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  touch-action: pan-y;
}
.ucg-gallery-page .ucg-featured-track.is-slider-moving {
  scroll-behavior: auto;
  scroll-snap-type: none;
}
.ucg-gallery-page .ucg-featured-track::-webkit-scrollbar { display: none; }
.ucg-gallery-page .ucg-featured-track article,
.ucg-gallery-page .ucg-featured-track article:nth-child(even) {
  flex: 0 0 clamp(310px, 29.34vw, 507px) !important;
  transition: flex-basis .68s cubic-bezier(.22,1,.36,1);
  will-change: flex-basis;
}
.ucg-gallery-page .ucg-featured-track article.is-focused,
.ucg-gallery-page .ucg-featured-track article.is-focused:nth-child(even) {
  flex-basis: clamp(540px, 58vw, 900px) !important;
}
.ucg-gallery-page .ucg-gallery-feature-card {
  height: clamp(495px, 46.82vw, 809px);
  isolation: isolate;
  outline: none;
  overflow: hidden;
  position: relative;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
.ucg-gallery-page .ucg-gallery-feature-card:focus-visible {
  outline: 3px solid rgba(11, 94, 215, .82);
  outline-offset: -3px;
}
.ucg-gallery-page .ucg-featured-track img {
  height: 100%;
  object-fit: cover;
  transition: filter .55s cubic-bezier(.22,1,.36,1);
  width: 100%;
}
.ucg-gallery-page .ucg-featured-track span {
  background: none;
  bottom: auto;
  color: inherit;
  display: block;
  inset: auto;
  padding: 0;
  position: static;
}
.ucg-gallery-feature-card__shade {
  background: linear-gradient(0deg, rgba(0,0,0,.78), rgba(0,0,0,.03) 62%) !important;
  inset: 0 !important;
  position: absolute !important;
  transition: background .55s cubic-bezier(.22,1,.36,1), backdrop-filter .55s cubic-bezier(.22,1,.36,1);
}
.ucg-gallery-feature-card__content {
  bottom: 0;
  color: #fff;
  left: 0;
  padding: clamp(1.35rem, 2.6vw, 2.8rem);
  position: absolute;
  right: 0;
  z-index: 3;
}
.ucg-gallery-page .ucg-gallery-feature-card h2 {
  color: #fff;
  font-family: var(--display);
  font-size: clamp(2rem, 3vw, 3.75rem);
  font-stretch: condensed;
  font-weight: 500;
  line-height: 1.04;
  margin: 0;
  position: static;
  transition: transform .55s cubic-bezier(.22,1,.36,1);
}
.ucg-gallery-feature-card__content p {
  font-size: clamp(1rem, 1.15vw, 1.25rem);
  line-height: 1.65;
  margin: 1.2rem 0 0;
  max-width: 26rem;
}
.ucg-gallery-page .ucg-featured-track .ucg-gallery-feature-card__link {
  align-items: center;
  background: #fff;
  color: #252525;
  display: flex;
  font-family: var(--body);
  font-size: .9rem;
  font-weight: 600;
  height: auto;
  justify-content: space-between;
  margin-top: 2rem;
  min-height: 49px;
  overflow: hidden;
  padding: .85rem 1.25rem;
  position: relative;
  text-decoration: none;
  width: 100%;
}
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .ucg-gallery-feature-card__content p,
  .ucg-gallery-page .ucg-featured-track .ucg-gallery-feature-card__link {
    margin-top: 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transform: translateY(22px);
    transition: opacity .38s ease, visibility .38s ease, transform .52s cubic-bezier(.22,1,.36,1), max-height .52s cubic-bezier(.22,1,.36,1), margin-top .52s cubic-bezier(.22,1,.36,1), padding .52s cubic-bezier(.22,1,.36,1);
    visibility: hidden;
  }
  .ucg-gallery-page .ucg-featured-track .ucg-gallery-feature-card__link {
    min-height: 0;
    padding-bottom: 0;
    padding-top: 0;
  }
  .ucg-gallery-feature-card:hover .ucg-gallery-feature-card__shade,
  .ucg-gallery-feature-card:focus .ucg-gallery-feature-card__shade,
  .ucg-gallery-feature-card:focus-within .ucg-gallery-feature-card__shade {
    backdrop-filter: blur(7px);
    background: rgba(0,0,0,.64) !important;
  }
  .ucg-gallery-feature-card:hover h2,
  .ucg-gallery-feature-card:focus h2,
  .ucg-gallery-feature-card:focus-within h2 { transform: translateY(-4px); }
  .ucg-gallery-feature-card:hover .ucg-gallery-feature-card__content p,
  .ucg-gallery-feature-card:focus .ucg-gallery-feature-card__content p,
  .ucg-gallery-feature-card:focus-within .ucg-gallery-feature-card__content p {
    margin-top: 1.2rem;
    max-height: 9rem;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }
  .ucg-gallery-feature-card:hover .ucg-gallery-feature-card__link,
  .ucg-gallery-feature-card:focus .ucg-gallery-feature-card__link,
  .ucg-gallery-feature-card:focus-within .ucg-gallery-feature-card__link {
    margin-top: 2rem;
    max-height: 4.25rem;
    min-height: 49px;
    opacity: 1;
    padding: .85rem 1.25rem;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }
}
@media (hover: none), (pointer: coarse) {
  .ucg-gallery-feature-card__shade {
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
    background: linear-gradient(0deg, rgba(0,0,0,.78), rgba(0,0,0,.03) 62%) !important;
  }
  .ucg-gallery-feature-card__content p,
  .ucg-gallery-page .ucg-featured-track .ucg-gallery-feature-card__link {
    margin-top: 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transform: translateY(22px);
    transition: opacity .3s ease, transform .42s cubic-bezier(.22,1,.36,1), max-height .42s cubic-bezier(.22,1,.36,1), margin-top .42s cubic-bezier(.22,1,.36,1), padding .42s cubic-bezier(.22,1,.36,1);
    visibility: hidden;
  }
  .ucg-gallery-page .ucg-featured-track .ucg-gallery-feature-card__link {
    min-height: 0;
    padding-bottom: 0;
    padding-top: 0;
  }
  .ucg-gallery-feature-card.is-touch-active .ucg-gallery-feature-card__shade {
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    background: rgba(0,0,0,.64) !important;
  }
  .ucg-gallery-feature-card.is-touch-active h2 { transform: translateY(-4px); }
  .ucg-gallery-feature-card.is-touch-active .ucg-gallery-feature-card__content p,
  .ucg-gallery-page .ucg-featured-track .ucg-gallery-feature-card.is-touch-active .ucg-gallery-feature-card__link {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    visibility: visible;
  }
  .ucg-gallery-feature-card.is-touch-active .ucg-gallery-feature-card__content p {
    margin-top: 1.2rem;
    max-height: 12rem;
  }
  .ucg-gallery-page .ucg-featured-track .ucg-gallery-feature-card.is-touch-active .ucg-gallery-feature-card__link {
    margin-top: 2rem;
    max-height: 4.25rem;
    min-height: 49px;
    padding: .85rem 1.25rem;
  }
}
.ucg-gallery-page .ucg-gallery-catalogue { margin-top: clamp(50px, 4.05vw, 70px); }
.ucg-gallery-page .ucg-gallery-toolbar {
  background: #fff;
  border-bottom: 0;
  border-top: 1px solid #252525;
  min-height: 157px;
  position: sticky;
  top: 83px;
  z-index: 20;
}
.ucg-gallery-toolbar__inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-inline: auto;
  max-width: 1452px;
  min-height: 156px;
  padding-inline: 18px;
}
.ucg-gallery-page .ucg-gallery-filters { display: flex; gap: 10px; }
.ucg-gallery-page .ucg-gallery-filters button {
  background: #fff;
  border: 2px solid #252525;
  border-radius: 999px;
  color: #252525;
  font-family: var(--display);
  font-size: 20px;
  font-weight: 500;
  height: 63px;
  min-width: 155px;
  padding: 0 25px;
  transition: background-color .3s ease, border-color .3s ease, color .3s ease;
}
.ucg-gallery-page .ucg-gallery-filters button:first-child { min-width: 143px; }
.ucg-gallery-page .ucg-gallery-filters button.is-active,
.ucg-gallery-page .ucg-gallery-filters button:hover,
.ucg-gallery-page .ucg-gallery-filters button:focus-visible {
  background: var(--gallery-blue);
  border-color: var(--gallery-blue);
  color: #fff;
}
.ucg-gallery-catalogue__body {
  display: grid;
  gap: 46px;
  grid-template-columns: minmax(260px, 439px) minmax(0, 1054px);
  margin-inline: auto;
  max-width: 1548px;
  padding: 31px 0 0;
  width: calc(100% - 36px);
}
.ucg-gallery-catalogue__body aside {
  align-self: start;
  font-size: 30px;
  font-weight: 500;
  height: fit-content;
  line-height: 1.58;
  position: sticky;
  top: 271px;
}
.ucg-gallery-catalogue__body aside p { margin: 0; max-width: 439px; }
.ucg-gallery-page .ucg-gallery-grid {
  display: grid;
  gap: 35px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 0;
}
.ucg-gallery-grid-card { aspect-ratio: 507 / 809; min-width: 0; }
.ucg-gallery-grid-card[hidden] { display: none; }
.ucg-gallery-grid-card a {
  color: #fff;
  display: block;
  height: 100%;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}
.ucg-gallery-grid-card img {
  height: 100%;
  object-fit: cover;
  transition: transform .75s cubic-bezier(.22,1,.36,1);
  width: 100%;
}
.ucg-gallery-grid-card span {
  background: rgba(37, 37, 37, .25);
  inset: 0;
  position: absolute;
  transition: background-color .4s ease;
}
.ucg-gallery-grid-card h3 {
  bottom: clamp(26px, 2.6vw, 45px);
  color: #fff;
  font-size: clamp(36px, 3.48vw, 60px);
  font-weight: 500;
  left: clamp(26px, 2.6vw, 45px);
  line-height: 1.16;
  margin: 0;
  position: absolute;
  z-index: 2;
}
.ucg-gallery-grid-card:hover img,
.ucg-gallery-grid-card:focus-within img { transform: scale(1.035); }
.ucg-gallery-grid-card:hover span,
.ucg-gallery-grid-card:focus-within span { background: rgba(37, 37, 37, .42); }
.ucg-gallery-page .ucg-gallery-ready {
  min-height: 699px;
  padding: clamp(85px, 5.78vw, 100px) 20px 100px;
  text-align: center;
}
.ucg-gallery-page .ucg-gallery-ready h2 {
  font-size: clamp(64px, 6.37vw, 110px);
  font-weight: 800;
  line-height: 1.11;
  margin: 0 auto;
  max-width: 1252px;
}
.ucg-gallery-page .ucg-gallery-ready p {
  font-size: clamp(18px, 1.74vw, 30px);
  line-height: 1.58;
  margin: 42px auto 28px;
  max-width: 1213px;
}
.ucg-gallery-page .ucg-gallery-ready .btn {
  align-items: center;
  display: inline-flex;
  font-family: var(--display);
  font-size: 20px;
  height: 63px;
  justify-content: space-between;
  padding-inline: 25px;
  width: min(100%, 320px);
}
.ucg-gallery-page .ucg-gallery-ready .btn-outline-dark { width: min(100%, 320px); }
@media (max-width: 1199px) {
  .ucg-gallery-catalogue__body {
    gap: 30px;
    grid-template-columns: minmax(240px, .58fr) 1.42fr;
  }
  .ucg-gallery-catalogue__body aside { font-size: 22px; }
}
@media (max-width: 767px) {
  .ucg-gallery-page .ucg-gallery-intro { padding: 72px 0 24px; }
  .ucg-gallery-page .ucg-gallery-intro h1 { font-size: 52px; line-height: 1.02; }
  .ucg-gallery-intro__art { opacity: .55; right: -310px; top: -300px; }
  .ucg-gallery-intro__footer { align-items: flex-end; gap: 24px; margin-top: 38px; }
  .ucg-gallery-page .ucg-eyebrow { font-size: .78rem; gap: 10px; letter-spacing: .38em; }
  .ucg-gallery-page .ucg-eyebrow span { height: 7px; width: 7px; }
  .ucg-gallery-rail-controls { gap: 8px; }
  .ucg-gallery-rail-controls button { height: 44px; width: 44px; }
  .ucg-gallery-page .ucg-featured-track article,
  .ucg-gallery-page .ucg-featured-track article:nth-child(even) { flex-basis: 58vw !important; }
  .ucg-gallery-page .ucg-featured-track article.is-focused,
  .ucg-gallery-page .ucg-featured-track article.is-focused:nth-child(even) { flex-basis: 78vw !important; }
  .ucg-gallery-page .ucg-gallery-feature-card { height: 124vw; max-height: 590px; }
  .ucg-gallery-page .ucg-gallery-feature-card h2 { font-size: 2rem; }
  .ucg-gallery-grid-card h3 { font-size: 38px; }
  .ucg-gallery-page .ucg-gallery-toolbar { min-height: 0; top: 70px; }
  .ucg-gallery-toolbar__inner {
    align-items: flex-start;
    flex-direction: column;
    gap: 20px;
    min-height: 0;
    padding-block: 22px;
  }
  .ucg-gallery-page .ucg-gallery-filters { flex-wrap: wrap; }
  .ucg-gallery-page .ucg-gallery-filters button,
  .ucg-gallery-page .ucg-gallery-filters button:first-child {
    font-size: 16px;
    height: 46px;
    min-width: 0;
    padding-inline: 18px;
  }
  .ucg-gallery-catalogue__body { display: block; padding-top: 35px; }
  .ucg-gallery-catalogue__body aside {
    font-size: 18px;
    margin-bottom: 35px;
    position: static;
  }
  .ucg-gallery-page .ucg-gallery-grid { gap: 18px; grid-template-columns: 1fr; }
  .ucg-gallery-grid-card { aspect-ratio: 507 / 720; }
  .ucg-gallery-page .ucg-gallery-ready { min-height: 0; padding: 75px 18px 85px; }
  .ucg-gallery-page .ucg-gallery-ready h2 { font-size: 54px; }
  .ucg-gallery-page .ucg-gallery-ready p { font-size: 17px; margin-top: 28px; }
  .ucg-gallery-page .ucg-gallery-ready .btn,
  .ucg-gallery-page .ucg-gallery-ready .btn-outline-dark { width: min(100%, 320px); }
}
@media (prefers-reduced-motion: reduce) {
  .ucg-gallery-page .ucg-featured-track article,
  .ucg-gallery-page .ucg-featured-track img,
  .ucg-gallery-grid-card img,
  .ucg-gallery-feature-card__shade,
  .ucg-gallery-feature-card h2,
  .ucg-gallery-feature-card__content p,
  .ucg-gallery-feature-card__link,
  .ucg-gallery-rail-controls button { transition: none; }
}

/* Project detail — Figma node 113:2055. */
.ucg-project-detail {
  overflow: hidden;
  padding-top: clamp(84px, 6.94vw, 120px);
}
.ucg-project-detail .ucg-project-intro {
  display: grid;
  min-height: clamp(430px, 32.3vw, 558px);
  padding: clamp(70px, 6.8vw, 118px) 0 clamp(58px, 5vw, 86px);
  place-items: center;
  text-align: center;
}
.ucg-project-detail .ucg-project-intro .container-xl { max-width: 1420px; }
.ucg-project-detail .ucg-project-intro h1 {
  font-size: clamp(4.25rem, 6.37vw, 6.875rem);
  font-weight: 800;
  line-height: 1.11;
  margin: 0 auto;
  max-width: 1354px;
}
.ucg-project-detail .ucg-project-compare {
  height: clamp(580px, 56.2vw, 972px);
  overflow: hidden;
  position: relative;
}
.ucg-project-detail .ucg-project-compare > img,
.ucg-project-detail .ucg-project-compare__after,
.ucg-project-detail .ucg-project-compare__after img { height: 100%; width: 100%; }
.ucg-project-detail .ucg-project-compare > img,
.ucg-project-detail .ucg-project-compare__after img {
  object-fit: cover;
  object-position: center;
}
.ucg-project-detail .ucg-project-compare__after {
  clip-path: inset(var(--compare-y) 0 0 0);
  inset: 0;
  position: absolute;
}
.ucg-project-detail .ucg-project-compare__after img { position: absolute; }
.ucg-project-detail .ucg-project-compare::after {
  background: #fff;
  content: "";
  height: 2px;
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: var(--compare-y);
  transform: translateY(-1px);
}
.ucg-project-detail .ucg-compare-handle {
  align-items: center;
  background: #fff;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
  display: flex;
  height: 55px;
  justify-content: center;
  left: 52.1%;
  position: absolute;
  top: var(--compare-y);
  transform: translate(-50%, -50%);
  transition: transform .25s var(--ucg-ease);
  width: 55px;
  z-index: 2;
}
.ucg-project-detail .ucg-compare-handle:hover,
.ucg-project-detail .ucg-compare-handle:focus-visible { transform: translate(-50%, -50%) scale(1.08); }
.ucg-project-detail .ucg-project-media {
  background: #252525;
  color: #fff;
  overflow: hidden;
  padding: clamp(34px, 2.9vw, 50px) 0 clamp(70px, 8.45vw, 146px);
}
.ucg-project-detail .ucg-project-media__progress {
  background: rgba(255,255,255,.26);
  height: 2px;
  margin: 0 50px;
  overflow: hidden;
}
.ucg-project-detail .ucg-project-media__progress span {
  background: #fff;
  display: block;
  height: 100%;
  transform: scaleX(.084);
  transform-origin: left;
  transition: transform .25s ease;
}
.ucg-project-detail .ucg-project-media__track {
  --ucg-media-active-width: min(51.91vw, 897px);
  --ucg-media-gap: clamp(24px, 3.6vw, 62px);
  --ucg-media-pad: clamp(28px, 6.25vw, 108px);
  display: flex;
  gap: var(--ucg-media-gap);
  margin-top: clamp(58px, 5.45vw, 94px);
  overflow-x: auto;
  padding: 0 var(--ucg-media-pad);
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.ucg-project-detail .ucg-project-media__track::after {
  content: "";
  display: none;
}
.ucg-project-detail .ucg-project-media__track::-webkit-scrollbar { display: none; }
.ucg-project-detail .ucg-project-media figure {
  cursor: pointer;
  flex: 0 0 min(25.3vw, 437px);
  height: clamp(360px, 35.24vw, 609px);
  margin: 0;
  overflow: hidden;
  transition: flex-basis .82s var(--ucg-ease), opacity .45s ease;
  will-change: flex-basis;
}
.ucg-project-detail .ucg-project-media figure.is-active { flex-basis: var(--ucg-media-active-width); }
.ucg-project-detail .ucg-project-media figure.ucg-project-media__tail-preview {
  flex-basis: max(0px, calc(100vw - var(--ucg-media-pad) - var(--ucg-media-pad) - var(--ucg-media-active-width) - var(--ucg-media-gap)));
  pointer-events: none;
}
.ucg-project-detail .ucg-project-media figure:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 5px;
}
.ucg-project-detail .ucg-project-media img,
.ucg-project-detail .ucg-project-media video {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.ucg-project-detail .ucg-project-media__feature video { object-position: center 52%; }
.ucg-project-related {
  max-width: 1592px;
  padding: clamp(90px, 5.85vw, 101px) 0 clamp(110px, 9vw, 156px);
  width: calc(100% - clamp(32px, 7.87vw, 136px));
}
.ucg-project-related__heading { padding-left: clamp(0px, 4.05vw, 70px); }
.ucg-project-related__heading .ucg-eyebrow { margin-bottom: 26px; }
.ucg-project-related__heading h2 {
  font-size: clamp(3rem, 4.63vw, 5rem);
  line-height: 1.16;
  margin: 0;
  max-width: 1437px;
}
.ucg-project-related__heading > p:last-child {
  color: #1e1e1e;
  font-size: clamp(1.125rem, 1.74vw, 1.875rem);
  line-height: 1.58;
  margin: clamp(28px, 3vw, 52px) 0 0 6px;
  max-width: 893px;
}
.ucg-project-related__grid {
  display: grid;
  gap: clamp(18px, 2.03vw, 35px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(48px, 3.95vw, 68px);
}
.ucg-project-related-card { min-width: 0; }
.ucg-project-related-card > a {
  aspect-ratio: 507 / 809;
  color: #fff;
  display: block;
  overflow: hidden;
  position: relative;
  text-decoration: none;
}
.ucg-project-related-card img {
  height: 100%;
  object-fit: cover;
  transition: filter .75s var(--ucg-ease), transform .75s var(--ucg-ease);
  width: 100%;
}
.ucg-project-related-card__shade {
  background: rgba(37,37,37,.25);
  inset: 0;
  position: absolute;
  transition: background .55s var(--ucg-ease), backdrop-filter .55s var(--ucg-ease);
}
.ucg-project-related-card h3 {
  bottom: clamp(28px, 2.15vw, 37px);
  font-size: clamp(2rem, 3.47vw, 3.75rem);
  font-weight: 500;
  left: clamp(24px, 2.6vw, 45px);
  line-height: 1.16;
  margin: 0;
  position: absolute;
  z-index: 2;
}
.ucg-project-related-card__arrow {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  color: #252525;
  display: flex;
  height: 55px;
  justify-content: center;
  opacity: 0;
  position: absolute;
  right: 20px;
  top: 20px;
  transform: translateY(-10px);
  transition: opacity .35s ease, transform .45s var(--ucg-ease);
  width: 55px;
  z-index: 3;
}
.ucg-project-related-card__view {
  backdrop-filter: blur(3.65px);
  background: rgba(34,34,34,.48);
  left: 50%;
  opacity: 0;
  padding: 13px 22px;
  position: absolute;
  top: 45%;
  transform: translate(-50%, calc(-50% + 14px));
  transition: opacity .35s ease, transform .45s var(--ucg-ease);
  z-index: 3;
}
.ucg-project-related-card > a:hover img,
.ucg-project-related-card > a:focus-visible img { filter: blur(2px); transform: scale(1.035); }
.ucg-project-related-card > a:hover .ucg-project-related-card__shade,
.ucg-project-related-card > a:focus-visible .ucg-project-related-card__shade { background: rgba(25,25,25,.48); }
.ucg-project-related-card > a:hover .ucg-project-related-card__arrow,
.ucg-project-related-card > a:focus-visible .ucg-project-related-card__arrow { opacity: 1; transform: translateY(0); }
.ucg-project-related-card > a:hover .ucg-project-related-card__view,
.ucg-project-related-card > a:focus-visible .ucg-project-related-card__view { opacity: 1; transform: translate(-50%, -50%); }

@media (max-width: 991px) {
  .ucg-project-detail .ucg-project-intro { min-height: 440px; }
  .ucg-project-detail .ucg-project-intro h1 { font-size: clamp(3.75rem, 8.4vw, 5.35rem); }
  .ucg-project-detail .ucg-project-media__track { --ucg-media-active-width: 72vw; }
  .ucg-project-related__heading { padding-left: 0; }
}
@media (max-width: 767px) {
  .ucg-project-detail { padding-top: 70px; }
  .ucg-project-detail .ucg-project-intro { min-height: 390px; padding: 64px 0; }
  .ucg-project-detail .ucg-project-intro h1 { font-size: clamp(3rem, 14vw, 4.5rem); line-height: 1; }
  .ucg-project-detail .ucg-project-compare { height: 72vh; min-height: 520px; }
  .ucg-project-detail .ucg-project-media__progress { margin-inline: 20px; }
  .ucg-project-detail .ucg-project-media__track {
    --ucg-media-active-width: min(84vw, 390px);
    --ucg-media-gap: 14px;
    --ucg-media-pad: 20px;
    overscroll-behavior-inline: contain;
    scroll-padding-left: var(--ucg-media-pad);
    scroll-snap-type: x mandatory;
  }
  .ucg-project-detail .ucg-project-media__track::after {
    display: block;
    flex: 0 0 max(0px, calc(100vw - var(--ucg-media-pad) - var(--ucg-media-pad) - var(--ucg-media-active-width)));
  }
  .ucg-project-detail .ucg-project-media figure.ucg-project-media__tail-preview { display: none; }
  .ucg-project-detail .ucg-project-media figure,
  .ucg-project-detail .ucg-project-media figure.is-active {
    flex-basis: var(--ucg-media-active-width);
    height: clamp(390px, 112vw, 500px);
    scroll-snap-align: start;
    scroll-snap-stop: always;
    transition: none;
  }
  .ucg-project-related { width: calc(100% - 32px); }
  .ucg-project-related__heading h2 { font-size: clamp(2.75rem, 13vw, 4rem); }
  .ucg-project-related__heading > p:last-child { font-size: 1.05rem; margin-left: 0; }
  .ucg-project-related__grid { grid-template-columns: 1fr; }
  .ucg-project-related-card > a { aspect-ratio: 4 / 5; }
}
@media (prefers-reduced-motion: reduce) {
  .ucg-project-detail .ucg-project-media__track { scroll-behavior: auto; }
  .ucg-project-detail .ucg-project-media figure,
  .ucg-project-related-card img,
  .ucg-project-related-card__arrow,
  .ucg-project-related-card__view { transition: none; }
}

/* Home typography system shared by every non-service inner page. */
:where(.ucg-figma-page, .ucg-inner-page, .ucg-content-page) {
  font-family: var(--body);
  font-size: 1rem;
  line-height: 1.6;
}
:is(.ucg-figma-page, .ucg-inner-page, .ucg-content-page) :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--display) !important;
  font-stretch: condensed;
  letter-spacing: 0;
}
:is(.ucg-figma-page, .ucg-inner-page, .ucg-content-page) h1 {
  font-size: clamp(3.2rem, 5.79vw, 6.25rem) !important;
  font-weight: 800 !important;
  line-height: .98 !important;
}
:is(.ucg-figma-page, .ucg-inner-page, .ucg-content-page) h2 {
  font-size: clamp(2.4rem, 4.5vw, 4.8rem) !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
}
:is(.ucg-figma-page, .ucg-inner-page, .ucg-content-page) :is(h3, h4, h5, h6) {
  font-weight: 500;
}
:is(.ucg-figma-page, .ucg-inner-page, .ucg-content-page) :is(p, li, a, button, input, select, textarea) {
  font-family: var(--body);
}
:is(.ucg-figma-page, .ucg-inner-page, .ucg-content-page) .ucg-eyebrow {
  color: var(--blue);
  font-family: var(--body);
  font-size: .78rem;
  font-weight: 600;
  gap: .75rem;
  letter-spacing: .38em;
  line-height: 1.5;
  margin-bottom: 1.2rem;
}
:is(.ucg-figma-page, .ucg-inner-page, .ucg-content-page) .ucg-eyebrow span {
  height: 7px;
  width: 7px;
}
.ucg-gallery-page .ucg-gallery-feature-card__content h2 {
  font-size: clamp(2rem, 2.5vw, 2.75rem) !important;
  line-height: 1.05 !important;
}
@media (min-width: 992px) and (min-height: 651px) and (max-height: 900px) {
  :is(.ucg-figma-page, .ucg-inner-page, .ucg-content-page) h1 {
    font-size: clamp(3.4rem, min(6vw, 10vh), 5.4rem) !important;
  }
}
@media (max-width: 767px) {
  :is(.ucg-figma-page, .ucg-inner-page, .ucg-content-page) h1 {
    font-size: 2.8rem !important;
  }
}

/* Match Home typography by component role, not only by heading tag. */
.ucg-gallery-page .ucg-gallery-feature-card__content h2,
.ucg-gallery-page .ucg-gallery-grid-card h3 {
  font-family: var(--display) !important;
  font-size: clamp(1.5rem, 2.3vw, 2.4rem) !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}
.ucg-gallery-page .ucg-gallery-catalogue__body aside {
  font-family: var(--body);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.7;
}
.ucg-project-detail .ucg-project-related__heading > p:last-child {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.58;
}
.ucg-project-detail .ucg-project-related-card h3 {
  font-family: var(--display) !important;
  font-size: clamp(2.15rem, 4.63vw, 5rem);
  font-weight: 800;
  line-height: 1.11;
}
.ucg-gallery-page .ucg-gallery-ready h2 {
  font-size: clamp(3rem, 6vw, 6.4rem) !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
}
.ucg-gallery-page .ucg-gallery-ready p {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.7;
  margin: 2rem auto;
  text-align: center;
}
.ucg-gallery-page .ucg-gallery-ready .btn {
  font-family: var(--body);
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.5;
}
@media (min-width: 992px) and (min-height: 651px) and (max-height: 900px) {
  .ucg-gallery-page .ucg-gallery-ready h2 {
    font-size: clamp(3rem, min(6vw, 8vh), 5.4rem) !important;
  }
  .ucg-project-detail .ucg-project-related__heading > p:last-child {
    font-size: .99rem;
  }
  .ucg-project-detail .ucg-project-related-card h3 {
    font-size: clamp(2.25rem, min(4vw, 6vh), 4rem);
  }
}
@media (max-width: 767px) {
  .ucg-gallery-page .ucg-gallery-catalogue__body aside,
  .ucg-gallery-page .ucg-gallery-ready p,
  .ucg-project-detail .ucg-project-related__heading > p:last-child {
    font-size: 1rem;
  }
  .ucg-project-detail .ucg-project-related-card h3 {
    font-size: clamp(2rem, 9vw, 3.25rem);
  }
}
.ucg-project-detail .pm-related.pm-page.ucg-project-related-service {
  padding-top: clamp(90px, 5.85vw, 101px) !important;
}

/* Project Detail cards reveal on hover without leaving the first card persistently focused. */
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .ucg-project-related-service .pm-project:not(:hover):focus:not(:focus-visible)::after,
  .ucg-project-related-service .pm-project:not(:hover):focus-within:not(:has(:focus-visible))::after {
    background: linear-gradient(0deg, rgba(0, 0, 0, .78), rgba(0, 0, 0, .03) 62%);
    backdrop-filter: blur(0);
    -webkit-backdrop-filter: blur(0);
  }

  .ucg-project-related-service .pm-project:not(:hover):focus:not(:focus-visible) h3,
  .ucg-project-related-service .pm-project:not(:hover):focus-within:not(:has(:focus-visible)) h3 {
    transform: none;
  }

  .ucg-project-related-service .pm-project:not(:hover):focus:not(:focus-visible) .pm-project__content p,
  .ucg-project-related-service .pm-project:not(:hover):focus-within:not(:has(:focus-visible)) .pm-project__content p,
  .ucg-project-related-service .pm-project:not(:hover):focus:not(:focus-visible) .pm-project__link,
  .ucg-project-related-service .pm-project:not(:hover):focus-within:not(:has(:focus-visible)) .pm-project__link {
    margin-top: 0;
    max-height: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateY(22px);
    visibility: hidden;
  }

  .ucg-project-related-service .pm-project:not(:hover):focus:not(:focus-visible) .pm-project__link,
  .ucg-project-related-service .pm-project:not(:hover):focus-within:not(:has(:focus-visible)) .pm-project__link {
    min-height: 0;
    padding-bottom: 0;
    padding-top: 0;
  }
}

/* Prevent synthesized mobile hover from remaining active after a tap. */
@media (hover: none), (pointer: coarse) {
  .ucg-shine:hover::before { left: -150%; }
  .ucg-project-card:hover img,
  .ucg-gallery-grid-card:hover img { filter: none; transform: none; }
  .ucg-gallery-grid-card:hover span { background: rgba(37, 37, 37, .25); }
  .ucg-gallery-page .ucg-gallery-filters button:hover:not(.is-active) {
    background: #fff;
    border-color: #252525;
    color: #252525;
  }
  .ucg-project-detail .ucg-compare-handle:hover {
    transform: translate(-50%, -50%);
  }
  .ucg-project-related-card > a:hover img { filter: none; transform: none; }
  .ucg-project-related-card > a:hover .ucg-project-related-card__shade { background: transparent; }
  .ucg-project-related-card > a:hover .ucg-project-related-card__arrow,
  .ucg-project-related-card > a:hover .ucg-project-related-card__view { opacity: 0; }
}

/* Absolute Rail Controls */
.ucg-rail-controls-absolute {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  justify-content: space-between;
  z-index: 10;
  pointer-events: none;
  padding: 0 10px;
}
.ucg-rail-controls-absolute button {
  pointer-events: auto;
}
