/* Restrained signature motion layered over the established Trophy Assets design. */
body.intro-loading { overflow: hidden; }

.site-intro-loader {
  align-items: center;
  background: #303526;
  display: flex;
  inset: 0;
  justify-content: center;
  opacity: 1;
  position: fixed;
  transition: opacity 400ms ease;
  z-index: 10000;
}

.site-intro-loader.is-leaving {
  opacity: 0;
  pointer-events: none;
}

.site-intro-monogram {
  fill: none;
  height: 72px;
  opacity: 0;
  stroke: #f4ebd9;
  stroke-linecap: square;
  stroke-linejoin: miter;
  stroke-width: 1.25;
  width: 76px;
}

.site-intro-monogram path {
  stroke-dasharray: 270;
  stroke-dashoffset: 270;
}

.site-intro-loader.is-drawing .site-intro-monogram {
  animation: trophy-loader-mark 760ms ease-out forwards;
}

.site-intro-loader.is-drawing .site-intro-monogram path {
  animation: trophy-loader-draw 760ms ease-out forwards;
}

@keyframes trophy-loader-draw {
  to { stroke-dashoffset: 0; }
}

@keyframes trophy-loader-mark {
  0% { opacity: 0; transform: scale(.96); }
  28%, 100% { opacity: 1; transform: scale(1); }
}

/* Keep the established compact identity treatment on phones and tablets. */
@media (max-width: 64rem) {
  .editorial-header .brand-mark,
  .contact-header .brand-mark {
    min-block-size: 2.75rem;
    transform: none !important;
  }

  .editorial-header.is-on-white .brand-mark svg,
  .contact-header.is-scrolled .brand-mark svg {
    transform: scale(.82);
  }
}

@media (max-width: 48rem) {
  .explore-panel .menu-panel {
    -webkit-backdrop-filter: blur(28px);
    backdrop-filter: blur(28px);
    background: rgba(0, 0, 0, .38);
  }

  .explore-panel .menu-dim { opacity: 0 !important; }

  .explore-panel .menu-shell,
  .explore-panel .menu-navigation,
  .explore-panel .menu-view,
  .explore-panel .menu-list,
  .explore-panel .menu-list a,
  .explore-panel .close-menu {
    color: #f4ebd9;
  }

  .explore-panel .menu-view {
    margin: 0;
    padding: 7rem 1.25rem 3rem;
  }

  .explore-panel .menu-list {
    align-items: flex-start;
    gap: .5rem;
  }

  .explore-panel .menu-list li,
  .explore-panel .menu-list li:nth-child(n) {
    padding-inline-end: 0;
    text-align: left;
  }

  .explore-panel .menu-list a,
  .explore-panel .menu-list button {
    font-size: clamp(1.15rem, 5.5vw, 1.45rem);
    min-block-size: 3rem;
  }

  .service-index {
    display: grid;
    gap: 0 .75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-index a {
    align-items: center;
    display: flex;
    justify-content: center;
    min-block-size: 2.75rem;
    padding: .45rem .15rem;
    text-align: center;
    white-space: normal;
  }

  .service-image:nth-child(2) { margin-left: 0 !important; }

  .service-detail-intro {
    padding-block: 4.75rem 5.25rem !important;
    padding-inline: 1.25rem !important;
  }

  .service-detail-intro h1 {
    font-size: clamp(2rem, 10vw, 2.65rem) !important;
    line-height: 1.08 !important;
  }

  .service-image-pair,
  .service-prose-grid {
    padding-inline: 1.25rem;
  }

  .service-wide-image { margin-inline: 1.25rem; }

  .site-footer .footer-symbol { color: #f4ebd9; }
}

@media (max-width: 22.5rem) {
  .service-index { grid-template-columns: 1fr; }
}

.site-header .brand-mark { min-block-size: 2.75rem; }

.editorial-header.is-on-white .brand-mark,
.contact-header.is-scrolled .brand-mark {
  transform: none;
}

.editorial-header.is-on-white .brand-mark svg,
.contact-header.is-scrolled .brand-mark svg {
  transform: scale(.82);
}

@media (prefers-reduced-motion: reduce) {
  .site-intro-loader { display: none; }

  .gentle-parallax {
    transform: none;
    will-change: auto;
  }
}

/* Albion Nord motion system, measured from the live reference on 28 September 2026. */
html { scroll-behavior: auto; }

.gentle-parallax {
  transform: none !important;
  will-change: auto;
}

body > .site-header {
  transition:
    transform 300ms cubic-bezier(.77, 0, .175, 1),
    background-color 700ms cubic-bezier(.77, 0, .175, 1),
    color 700ms cubic-bezier(.77, 0, .175, 1),
    border-color 700ms cubic-bezier(.77, 0, .175, 1) !important;
}

body > .site-header.motion-header-hidden {
  transform: translate3d(0, -100%, 0);
}

.banda-layout .slide {
  transition: opacity 1200ms ease-in-out;
}

@keyframes albion-reveal-up {
  from { opacity: 0; transform: translate3d(0, 30px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

.motion-preparing .editorial-reveal,
.motion-preparing .unhid-reveal,
.motion-preparing .unhid-develop,
.motion-preparing .contact-hero-copy > *,
.motion-preparing .contact-backdrop {
  transition: none !important;
}

@media (prefers-reduced-motion: no-preference) {
  .hero-copy > * { opacity: 0; }

  .hero.hero-ready .hero-copy h1,
  .hero.hero-ready .hero-purpose {
    animation: albion-reveal-up 2200ms 500ms cubic-bezier(.19, 1, .22, 1) both;
  }

  .editorial-motion .editorial-reveal,
  .editorial-motion .unhid-reveal,
  .editorial-motion .editorial-photo.editorial-reveal,
  .editorial-motion .unhid-develop,
  .contact-motion .contact-direct,
  .contact-motion .contact-services,
  .contact-motion .contact-assurances article {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
    transition:
      transform 2200ms 500ms cubic-bezier(.19, 1, .22, 1),
      opacity 2200ms 500ms cubic-bezier(.19, 1, .22, 1) !important;
    transition-delay: 500ms !important;
    will-change: opacity, transform;
  }

  .editorial-motion .editorial-reveal.is-visible,
  .editorial-motion .unhid-reveal.is-visible,
  .editorial-motion .editorial-photo.editorial-reveal.is-visible,
  .editorial-motion .unhid-develop.is-visible,
  .contact-motion .contact-direct.is-revealed,
  .contact-motion .contact-services.is-revealed,
  .contact-motion .contact-assurances article.is-revealed {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  .contact-motion .contact-hero-copy > *,
  .contact-motion .contact-backdrop {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
    transition:
      transform 2200ms 500ms cubic-bezier(.19, 1, .22, 1),
      opacity 2200ms 500ms cubic-bezier(.19, 1, .22, 1) !important;
    transition-delay: 500ms !important;
  }

  .contact-motion.contact-ready .contact-hero-copy > *,
  .contact-motion.contact-ready .contact-backdrop {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  .word-write .motion-word,
  .word-write.is-written .motion-word {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.service-card-link .page-photo img,
.service-card-link:hover .page-photo img,
.service-card-link:focus-visible .page-photo img {
  opacity: 1;
  transform: none;
  transition: opacity 250ms cubic-bezier(.25, .1, .25, 1);
}

.header-action::after,
.close-menu::after,
.menu-list a::after,
.menu-list button::after,
.firm-contact::after,
.site-footer .footer-navigation a::after,
.service-index a::after {
  opacity: 0;
  transform: none !important;
  transition: opacity 400ms cubic-bezier(.25, .1, .25, 1) !important;
}

@media (hover: hover) and (pointer: fine) {
  .header-action:hover::after,
  .header-action:not(.close-menu):focus-visible::after,
  .close-menu:hover::after,
  .menu-list a:hover::after,
  .menu-list button:hover::after,
  .firm-contact:hover::after,
  .firm-contact:focus-visible::after,
  .site-footer .footer-navigation a:hover::after,
  .service-index a:hover::after {
    opacity: 1;
  }
}

@media (max-width: 64rem) and (prefers-reduced-motion: no-preference) {
  .editorial-motion .editorial-reveal,
  .editorial-motion .unhid-reveal,
  .editorial-motion .unhid-develop,
  .service-detail-page .unhid-reveal,
  .service-detail-page .unhid-develop {
    opacity: 0 !important;
    transform: translate3d(0, 30px, 0) !important;
    transition:
      transform 2200ms 500ms cubic-bezier(.19, 1, .22, 1),
      opacity 2200ms 500ms cubic-bezier(.19, 1, .22, 1) !important;
  }

  .editorial-motion .editorial-reveal.is-visible,
  .editorial-motion .unhid-reveal.is-visible,
  .editorial-motion .unhid-develop.is-visible,
  .service-detail-page .unhid-reveal.is-visible,
  .service-detail-page .unhid-develop.is-visible {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
  }

  .editorial-header,
  .contact-header {
    transition:
      transform 300ms cubic-bezier(.77, 0, .175, 1),
      background-color 700ms cubic-bezier(.77, 0, .175, 1),
      color 700ms cubic-bezier(.77, 0, .175, 1),
      border-color 700ms cubic-bezier(.77, 0, .175, 1) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body > .site-header { transition: none !important; }
  body > .site-header.motion-header-hidden { transform: none; }
  .hero-copy > *,
  .contact-motion .contact-hero-copy > *,
  .contact-motion .contact-backdrop { opacity: 1; transform: none; transition: none; }
}

/* The outgoing photograph stays opaque below the incoming fade. */
.banda-layout .slide.is-leaving { opacity: 1; z-index: 0; }
@media (prefers-reduced-motion: reduce) {
 .banda-layout .slide { transition: none; }
}

/* Native dialog autofocus is not keyboard navigation: do not leave Close underlined after a pointer opens Discover. */
.is-keyboard-navigation .close-menu:focus-visible::after { opacity: 1; }
