

/* Trophy Assets wordmark: Albion Nord's restrained grayscale treatment, using
   the same Tenor Sans family already loaded above. */
.brand-mark .ta-monogram,
.footer-symbol .ta-monogram {
  display: none;
}

.brand-mark {
  gap: 0;
  min-inline-size: 0;
}

.brand-wordmark {
  color: currentColor;
  font-family: var(--albion-utility-font);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-footer {
  background: #fff;
  color: #5d5d5d;
}

.site-footer .footer-symbol {
  display: none;
}

.site-footer .footer-identity .footer-heading {
  color: #5d5d5d;
  font-family: var(--albion-utility-font);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
}

/* Final Banda-aligned footer geometry. */
@media (min-width: 56.3125rem) {
  .site-footer .footer-enquiry p,
  .site-footer .footer-contact {
    font-size: 16.5px;
    line-height: 24.75px;
    letter-spacing: 0.825px;
  }

  .site-footer .footer-heading {
    font-size: 14px;
    line-height: 21px;
    margin-block-end: 20px;
  }

  .site-footer .footer-navigation ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.5rem;
    row-gap: 0;
  }

  .site-footer .footer-navigation a {
    min-block-size: 21px;
    font-size: 14px;
    letter-spacing: 2.8px;
    line-height: 21px;
    margin-block-end: 20px;
  }
}

@media (max-width: 56.25rem) {
  .site-footer .footer-enquiry p,
  .site-footer .footer-contact {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.64px;
  }

  .site-footer .footer-navigation ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.5rem;
    row-gap: 0;
  }
}

@media (max-width: 30rem) {
  .site-footer .footer-navigation ul {
    grid-template-columns: 1fr;
  }
}

/* Match Banda's footer geometry at wide viewports: three aligned columns,
   two navigation columns, 65/40px vertical padding, and a 205px content row. */
@media (min-width: 56.3125rem) {
  .site-footer .footer-enquiry p,
  .site-footer .footer-contact {
    font-size: 16.5px;
    line-height: 24.75px;
    letter-spacing: 0.825px;
  }

  .site-footer .footer-heading {
    font-size: 14px;
    line-height: 21px;
    margin-block-end: 20px;
  }

  .site-footer .footer-navigation ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.5rem;
    row-gap: 0;
  }

  .site-footer .footer-navigation a {
    min-block-size: 21px;
    font-size: 14px;
    letter-spacing: 2.8px;
    line-height: 21px;
    margin-block-end: 20px;
  }
}

@media (max-width: 56.25rem) {
  .site-footer .footer-enquiry p,
  .site-footer .footer-contact {
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0.64px;
  }

  .site-footer .footer-navigation ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 1.5rem;
    row-gap: 0;
  }
}

@media (max-width: 30rem) {
  .site-footer .footer-navigation ul {
    grid-template-columns: 1fr;
  }
}

/* Final identity and footer treatment: use the mark alone, with Albion
   Nord's sampled grey section colour (#dad5d2 / rgb(218, 213, 210)). */
.brand-mark .ta-monogram,
.menu-header .brand-mark .ta-monogram {
  display: block;
}

.brand-mark .brand-wordmark,
.menu-header .brand-mark .brand-wordmark,
.site-footer .footer-identity > .footer-heading {
  display: none;
}

.site-footer {
  background: var(--footer-grey);
  color: #5d5d5d;
}

.site-footer .footer-symbol {
  color: #7b7b7b;
  display: block;
  inline-size: 76px;
  width: 76px;
}

.site-footer .footer-symbol .ta-monogram {
  display: block;
  inline-size: 76px;
  width: 76px;
}

/* Albion's desktop menu dims the page; the compact menu keeps the line
   treatment clean and does not add a dark wash behind the panel. */
@media (min-width: 48rem) {
  #nav-dialog::backdrop {
    -webkit-backdrop-filter: blur(1.5px);
    backdrop-filter: blur(1.5px);
    background: rgba(2, 10, 17, 0.18);
  }
}

@media (max-width: 47.9375rem) {
  .mobile-menu-toggle > span:not(.menu-icon) {
    display: none;
  }

  #nav-dialog::backdrop {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: transparent;
  }

  .site-footer .footer-symbol,
  .site-footer .footer-symbol .ta-monogram {
    inline-size: 60px;
    width: 60px;
  }
}

@media (max-width: 47.9375rem) {
  .site-header .brand-wordmark,
  .menu-header .brand-wordmark {
    font-size: 12px;
    letter-spacing: 0.12em;
  }

  .site-footer .footer-identity .footer-heading {
    font-size: 14px;
  }
}

@media (max-width: 47.9375rem) {
  .site-header .brand-wordmark,
  .menu-header .brand-wordmark {
    font-size: 12px;
    letter-spacing: 0.12em;
  }

  .site-footer .footer-identity .footer-heading {
    font-size: 14px;
  }
}



:root,
.contact-page {
  --font-brand: "Tenor Sans", Georgia, serif;
  --font-display: "Tenor Sans", Georgia, serif;
  --menu-font: "Tenor Sans", Georgia, serif;
  --unhid-body: "Tenor Sans", Georgia, serif;
  --unhid-display: "Tenor Sans", Georgia, serif;
  --albion-utility-font: "Tenor Sans", Arial, sans-serif;
  --albion-h1-size: 24px;
  --albion-h2-size: 24px;
  --albion-h3-size: 14px;
  --albion-h3-large-size: 14px;
  --albion-h4-size: 14px;
  --albion-h5-size: 13px;
  --albion-h6-size: 12px;
  --albion-body-size: 18px;
  --albion-menu-size: 12px;
}

html,
body {
  font-family: var(--font-brand);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body,
button,
input,
select,
textarea,
a,
dd,
address {
  font-family: var(--font-brand);
  font-synthesis: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-brand);
  font-style: normal;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.3;
  text-transform: none;
}

h1,
.hero h1,
.hero-copy h1,
.contact-page .contact-hero h1,
.privacy-intro h1,
.service-detail-intro h1 {
  font-family: var(--font-brand);
  font-size: var(--albion-h1-size);
  font-style: normal;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.3;
  text-transform: none;
}

/* Keep Albion's heading scale above the legacy mobile detail-page override. */
.service-detail-page .service-detail-intro h1 {
  font-size: var(--albion-h1-size) !important;
  line-height: 1.3 !important;
}

h2,
.editorial-copy h2,
.gallery-about-copy h1,
.gallery-about-copy h2,
.page-intro h1,
.service-copy h2,
.services-overview-page .page-intro h1,
.expertise-project-grid .service-copy h2,
.approach-main h1,
.approach-main h2,
.service-prose h2,
.service-enquiry h2,
.privacy-copy h2,
.contact-section-heading h2,
.contact-assurances h2 {
  font-family: var(--font-brand);
  font-size: var(--albion-h2-size);
  font-style: normal;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.3;
  text-transform: none;
}

h3 {
  font-size: var(--albion-h3-size);
}

h3.larger {
  font-size: var(--albion-h3-large-size);
}

h4 {
  font-family: var(--albion-utility-font);
  font-size: var(--albion-h4-size);
}

h5 {
  font-size: var(--albion-h5-size);
}

h6,
small,
.footer-bottom small {
  font-family: var(--albion-utility-font);
  font-size: var(--albion-h6-size);
  font-style: normal;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.3;
}

p,
address,
.hero-purpose,
.editorial-copy p,
.gallery-about-body p,
.page-intro p,
.service-copy p,
.approach-main p,
.privacy-copy p,
.privacy-copy address,
.contact-page .contact-intro-copy,
.contact-details dd,
.contact-note,
.contact-service-copy,
.contact-assurances article > p:last-child,
.service-detail-intro p,
.service-prose p,
.service-enquiry p,
.footer-info p {
  font-family: var(--font-brand);
  font-size: var(--albion-body-size);
  font-style: normal;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.32;
}

.header-action,
.conversation-trigger::before,
.desktop-explore-trigger,
.close-menu,
.footer-navigation a,
.service-pagination,
.service-pagination a,
.firm-contact,
.contact-placeholder,
.brand-wordmark {
  font-family: var(--font-brand);
  font-size: var(--albion-menu-size);
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.17em;
  line-height: 1.32;
  text-transform: uppercase;
}

.service-index,
.service-index a {
  font-family: var(--font-brand);
  font-size: var(--albion-menu-size);
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.17em;
  line-height: 1.32;
  text-transform: uppercase;
}

.menu-list a,
.menu-list button {
  font-family: var(--font-brand);
  font-size: clamp(1rem, 4.4vw, 1.25rem);
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.17em;
  line-height: 1.32;
  text-transform: uppercase;
}

@media (min-width: 48rem) {
  .menu-list a,
  .menu-list button {
    font-size: var(--albion-menu-size);
  }
}

.asset-label,
.contact-kicker,
.contact-label,
.contact-details dt,
.privacy-kicker,
.service-prose-label,
.service-detail-kicker,
.service-back-link,
.service-scroll-cue,
.footer-heading,
.footer-imagery-note,
.hero .asset-label,
.contact-page .contact-kicker,
.contact-page .contact-label,
.contact-page .contact-details dt,
.privacy-page .privacy-kicker,
.service-detail-page .service-prose-label,
.service-detail-page .service-detail-kicker,
.service-detail-page .service-back-link,
.service-detail-page .service-scroll-cue,
.site-footer .footer-heading,
.site-footer .footer-imagery-note {
  font-family: var(--albion-utility-font);
  font-size: var(--albion-h5-size);
  font-style: normal;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.3;
  text-transform: none;
}

.site-footer .footer-enquiry p,
.site-footer .footer-contact {
  font-family: var(--font-brand);
  font-size: var(--albion-h3-large-size);
  font-style: normal;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.3;
}

@media (min-width: 320px) {
  :root,
  .contact-page {
    --albion-h1-size: calc(1.3714285714vw + 19.6114285714px);
    --albion-h2-size: calc(1.0285714286vw + 20.7085714286px);
    --albion-h3-size: calc(0.3428571429vw + 12.9028571429px);
    --albion-h3-large-size: calc(0.5714285714vw + 12.1714285714px);
    --albion-h4-size: calc(0.2285714286vw + 13.2685714286px);
    --albion-h5-size: calc(0.2857142857vw + 12.0857142857px);
    --albion-body-size: calc(0.3428571429vw + 16.9028571429px);
  }
}

@media (min-width: 670px) {
  :root,
  .contact-page {
    --albion-h5-size: 14px;
    --albion-h6-size: calc(0.2857142857vw + 10.0857142857px);
    --albion-menu-size: calc(0.2857142857vw + 10.0857142857px);
  }
}

@media (min-width: 1020px) {
  :root,
  .contact-page {
    --albion-h1-size: calc(1.387283237vw + 19.4497109827px);
    --albion-h2-size: calc(1.0404624277vw + 20.587283237px);
    --albion-h3-size: calc(0.3468208092vw + 12.8624277457px);
    --albion-h3-large-size: calc(0.5780346821vw + 12.1040462428px);
    --albion-h4-size: calc(0.2312138728vw + 13.2416184971px);
    --albion-h5-size: calc(0.289017341vw + 11.0520231214px);
    --albion-h6-size: 13px;
    --albion-body-size: calc(0.3468208092vw + 16.8624277457px);
    --albion-menu-size: 13px;
  }
}

@media (min-width: 1366px) {
  :root,
  .contact-page {
    --albion-h1-size: calc(2.0512820513vw + 10.3794871795px);
    --albion-h2-size: calc(1.5384615385vw + 13.7846153846px);
    --albion-h3-size: calc(0.5128205128vw + 10.5948717949px);
    --albion-h3-large-size: calc(0.8547008547vw + 8.3247863248px);
    --albion-h4-size: calc(0.3418803419vw + 11.7299145299px);
    --albion-h5-size: calc(0.4273504274vw + 9.1623931624px);
    --albion-h6-size: calc(0.4273504274vw + 7.1623931624px);
    --albion-body-size: calc(0.5128205128vw + 14.5948717949px);
    --albion-menu-size: calc(0.4273504274vw + 7.1623931624px);
  }
}

@media (min-width: 1600px) {
  :root,
  .contact-page {
    --albion-h1-size: calc(1.5vw + 19.2px);
    --albion-h2-size: calc(1.125vw + 20.4px);
    --albion-h3-size: calc(0.375vw + 12.8px);
    --albion-h3-large-size: calc(0.625vw + 12px);
    --albion-h4-size: calc(0.25vw + 13.2px);
    --albion-h5-size: calc(0.3125vw + 11px);
    --albion-h6-size: 14px;
    --albion-body-size: calc(0.375vw + 16.8px);
    --albion-menu-size: 14px;
  }
}

@media (min-width: 1920px) {
  :root,
  .contact-page {
    --albion-h1-size: 48px;
    --albion-h2-size: 42px;
    --albion-h3-size: 20px;
    --albion-h3-large-size: 24px;
    --albion-h4-size: 18px;
    --albion-h5-size: 17px;
    --albion-h6-size: 14px;
    --albion-body-size: 24px;
    --albion-menu-size: 14px;
  }
}

/* Final wordmark overrides come after the legacy navigation/footer rules. */
.site-header .brand-wordmark,
.menu-header .brand-wordmark {
  color: currentColor;
  font-family: var(--albion-utility-font);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
}

.site-footer .footer-identity .footer-heading {
  color: #5d5d5d;
  font-family: var(--albion-utility-font);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.16em;
  line-height: 1;
  text-transform: uppercase;
}

/* Albion Nord's softer editorial ink, scoped to light-background copy. */
body.banda-layout :is(.editorial-copy, .gallery-about-copy, .approach-main,
  .privacy-copy, .page-intro, .service-copy, .service-detail-intro,
  .service-prose, .service-pagination),
body.banda-layout :is(.editorial-copy, .gallery-about-copy, .approach-main,
  .privacy-copy, .page-intro, .service-copy, .service-detail-intro,
  .service-prose) :is(h1, h2, h3, p, address, a) {
  color: #6d6d6d;
}
