/* Scoped layout rules; brand colours and typography remain editable in Styles. */
.tn-header, .tn-main, .tn-footer, .tn-header *, .tn-main *, .tn-footer * { box-sizing: border-box; }
.wp-site-blocks > header, .wp-site-blocks > main, .wp-site-blocks > footer { margin-block: 0; }
.tn-container { width: min(1280px, calc(100% - 6rem)); margin-inline: auto; }
.tn-main { margin-block-start: 0; }
.tn-main > .wp-block-post-content { margin: 0; }
.tn-main .wp-block-post-content > * { margin-block: 0; max-width: none; }
.tn-main h1, .tn-main h2, .tn-main h3, .tn-footer p, .tn-header figure { margin-block: 0; }
.tn-section { padding-block: clamp(3.5rem, 6vw, 6rem); }
.tn-eyebrow { display: flex; align-items: center; gap: 1rem; font-size: .68rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; margin: 0 0 1.1rem; }
.tn-eyebrow::after { content: ''; width: 3rem; height: 1px; background: var(--wp--preset--color--burgundy); }
.tn-note { font-size: .8rem; opacity: .78; }
.tn-header { background: var(--wp--preset--color--ivory); border-bottom: 1px solid rgba(39,42,44,.08); }
.tn-header-inner { display: flex; align-items: center; gap: 2rem; min-height: 110px; padding-block: 1rem; }
.tn-logo { width: 285px; flex-shrink: 0; margin: 0; }
.tn-logo img { width: 100%; height: auto; display: block; }
.tn-navigation { flex: 1; }
.tn-navigation .wp-block-navigation-item__content { color: var(--wp--preset--color--charcoal); text-decoration: none; padding-block: .6rem; }
.tn-navigation .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--burgundy); }
.tn-navigation .wp-block-navigation__container { gap: 1.6rem; }
.tn-header-quote .wp-block-button__link { white-space: nowrap; }
.tn-header .wp-block-buttons { margin: 0; }
.tn-hero { position: relative; isolation: isolate; overflow: hidden; color: var(--wp--preset--color--ivory); background: var(--wp--preset--color--charcoal); min-height: clamp(650px, 60vw, 870px); }
.tn-hero-copy { position: relative; z-index: 3; padding-block: clamp(3.5rem, 5vw, 5.75rem); }
.tn-hero-eyebrow::after { background: var(--wp--preset--color--silver); }
.tn-hero-title { max-width: 850px; font-size: var(--wp--preset--font-size--xx-large); line-height: 1.02; }
.tn-hero-title em { font-weight: 400; }
.tn-hero-description { margin-block: 1.5rem 1.75rem; max-width: 560px; font-size: 1.12rem; }
.tn-hero-photo { position: absolute; inset: auto 0 0; z-index: 1; margin: 0; line-height: 0; }
.tn-hero-photo img { width: 100%; height: auto; display: block; }
.tn-hero-photo::before { content: ''; position: absolute; z-index: 1; inset: 0 0 auto; height: clamp(3rem, 8vw, 8rem); pointer-events: none; background: linear-gradient(180deg,var(--wp--preset--color--charcoal),transparent); }
.tn-hero::after { content: ''; position: absolute; z-index: 2; inset: 0; pointer-events: none; background: linear-gradient(90deg,rgba(22,25,27,.45),rgba(22,25,27,.18) 34%,rgba(22,25,27,.04) 49%,transparent 60%); }
.tn-button-light .wp-block-button__link { background: var(--wp--preset--color--ivory); color: var(--wp--preset--color--charcoal); }
.wp-block-button__link:hover { filter: brightness(.94); }
.tn-main a:focus-visible, .tn-header a:focus-visible, .tn-footer a:focus-visible, .tn-navigation button:focus-visible { outline: 3px solid var(--wp--preset--color--burgundy); outline-offset: 5px; }
.tn-hero a:focus-visible, .tn-corridors a:focus-visible, .tn-contact a:focus-visible, .tn-footer a:focus-visible { outline-color: var(--wp--preset--color--ivory); }
.tn-planner { padding-block: 3.25rem; background: var(--wp--preset--color--silver); scroll-margin-top: 1rem; }
.tn-planner-inner { display: grid; grid-template-columns: .8fr 1.65fr; align-items: start; gap: 3.75rem; }
.tn-planner-title { font-size: var(--wp--preset--font-size--x-large); padding-block: 1rem; }
.tn-planner-title::before { content: ''; display: block; width: 3rem; height: 2px; background: var(--wp--preset--color--burgundy); margin-bottom: 1.5rem; }
.tn-planner-fields { margin: 0; padding-left: 3.75rem; border-left: 1px solid rgba(39,42,44,.2); min-width: 0; }
.tn-planner .tn-enquiry-next-row > span { color: var(--wp--preset--color--charcoal); }
.tn-solutions h2, .tn-industries h2, .tn-corridors h2, .tn-contact h2 { font-size: var(--wp--preset--font-size--x-large); }
.tn-services-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; margin-top: 2.5rem; }
.tn-service { display: flex; align-items: center; gap: 1.75rem; position: relative; padding: 1.25rem; border: 1px solid rgba(39,42,44,.14); min-width: 0; transition: border-color .2s; }
.tn-service-icon { width: 120px; flex-shrink: 0; margin: 0; line-height: 0; }
.tn-service-icon img { width: 100%; display: block; height: 76px; object-fit: contain; }
.tn-service h3 { flex: 1; font-size: clamp(1.15rem, 1.9vw, 1.65rem); line-height: 1.25; min-width: 0; }
.tn-service h3 a { color: inherit; text-decoration: none; display: flex; align-items: center; gap: .75rem; justify-content: space-between; }
.tn-service h3 a::after { content: ''; position: absolute; inset: 0; }
.tn-service h3 span { font-family: var(--wp--preset--font-family--body); color: var(--wp--preset--color--burgundy); font-size: 1.4rem; }
.tn-service:hover { border-color: var(--wp--preset--color--burgundy); }
.tn-service-featured { background: var(--wp--preset--color--charcoal); color: var(--wp--preset--color--ivory); }
.tn-service-featured h3 span { color: var(--wp--preset--color--silver); }
.tn-corridors { background: var(--wp--preset--color--burgundy); color: var(--wp--preset--color--ivory); }
.tn-corridors-inner { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 4rem; }
.tn-corridors-copy > p:not(.tn-eyebrow) { max-width: 370px; }
.tn-corridors .tn-eyebrow::after { background: var(--wp--preset--color--silver); }
.tn-corridors-map { margin: 0; text-align: center; }
.tn-corridors-map img { width: min(100%,520px); height: auto; display: inline-block; }
.tn-industries-inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: 4rem; align-items: center; margin-top: 2.5rem; }
.tn-industries-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 3rem; row-gap: .75rem; }
.tn-industry-link { margin: 0; font-family: var(--wp--preset--font-family--heading); font-size: 1.35rem; }
.tn-industry-link a { display: flex; align-items: center; justify-content: space-between; gap: .75rem; text-decoration: none; color: var(--wp--preset--color--charcoal); padding-block: .8rem; border-bottom: 1px solid transparent; }
.tn-industry-link a:hover, .tn-industry-link.tn-selected a { border-color: var(--wp--preset--color--burgundy); }
.tn-industry-link span { font-family: var(--wp--preset--font-family--body); color: var(--wp--preset--color--burgundy); }
.tn-industry-lens { margin: 0; position: relative; }
.tn-industry-lens img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 50%; }
.tn-industry-lens::before, .tn-industry-lens::after { content: ''; pointer-events: none; position: absolute; border-radius: 50%; }
.tn-industry-lens::before { inset: -8px 0 8px 6px; border-top: 2px solid var(--wp--preset--color--silver); transform: rotate(5deg); }
.tn-industry-lens::after { inset: 8px 6px -8px 0; border-bottom: 2px solid var(--wp--preset--color--burgundy); transform: rotate(5deg); }
.tn-industry-more { text-align: right; margin-top: 2rem; font-size: .9rem; }
.tn-contact { background: var(--wp--preset--color--charcoal); color: var(--wp--preset--color--ivory); }
.tn-contact h2::before { content: ''; display: block; width: 3rem; height: 2px; margin-bottom: 1.75rem; background: var(--wp--preset--color--burgundy); }
.tn-contact-actions { display: flex; align-items: center; gap: 2rem; margin-top: 2rem; }
.tn-email { padding-left: 2rem; border-left: 1px solid var(--wp--preset--color--silver); margin: 0; }
.tn-email a { color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.tn-footer { background: var(--wp--preset--color--charcoal); color: var(--wp--preset--color--ivory); padding-block: 2rem; border-top: 1px solid rgba(245,241,232,.3); }
.tn-footer-inner { display: flex; align-items: center; gap: 2.5rem; }
.tn-footer-logo { width: 215px; margin: 0; flex-shrink: 0; }
.tn-footer-logo img { display: block; width: 100%; height: auto; }
.tn-footer-info { display: flex; flex-wrap: wrap; gap: .75rem 2rem; align-items: center; margin: 0; font-size: .75rem; flex: 1; }
.tn-footer-info a { color: inherit; text-decoration: none; }
.tn-footer-links { flex-basis: 100%; }
.tn-copyright { opacity: .65; margin-left: auto; }
.tn-page { padding-block: 4rem 6rem; min-height: 55vh; }
.tn-page > h1 { font-family: var(--wp--preset--font-family--heading); font-size: var(--wp--preset--font-size--x-large); font-weight: 400; margin-bottom: 2rem; }
.tn-page .tn-section .tn-container { width: 100%; }
.tn-page .tn-corridors { padding-inline: 2.5rem; }
.tn-main section, .tn-main [id] { scroll-margin-top: 1rem; }
.wp-block-group.tn-services-grid > *, .wp-block-group.tn-industries-list > *, .wp-block-group.tn-corridors-inner > *, .wp-block-group.tn-industries-inner > *, .wp-block-group.tn-header-inner > *, .wp-block-group.tn-footer-inner > *, .wp-block-group.tn-contact-actions > *, .wp-block-group.tn-planner-inner > *, .wp-block-group.tn-service > * { margin-block: 0; }
@media (min-width: 961px) {
 .tn-hero-photo { inset: 0; }
 .tn-hero-photo img { height: 100%; object-fit: cover; object-position: 70% center; }
}
@media (max-width: 1100px) {
 .tn-container { width: calc(100% - 4rem); }
 .tn-header-inner { gap: 1.25rem; min-height: 95px; }
 .tn-logo { width: 250px; }
 .tn-navigation .wp-block-navigation__container { gap: 1rem; }
 .tn-service { gap: 1rem; }
 .tn-service-icon { width: 90px; }
 .tn-industries-inner, .tn-corridors-inner { gap: 2rem; }
 .tn-industries-list { column-gap: 1.5rem; }
}
@media (max-width: 960px) {
 .tn-navigation .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; margin-left: auto; min-width: 44px; min-height: 44px; justify-content: center; align-items: center; }
 .tn-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
 /* Outrank the core overlay defaults while keeping native menu behaviour. */
 .tn-header .tn-navigation.wp-block-navigation .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
  background: var(--wp--preset--color--ivory);
  color: var(--wp--preset--color--charcoal);
  padding: clamp(1.5rem, 5vw, 3rem);
  --navigation-layout-justification-setting: flex-start;
  --navigation-layout-text-align: left;
  --navigation-layout-direction: column;
  --navigation-layout-align: stretch;
  --navigation-layout-wrap: nowrap;
 }
 .tn-header .tn-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close { width: 100%; max-width: 34rem; margin-inline: auto; }
 .tn-header .tn-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch; text-align: left; padding-top: 5rem; gap: 0; }
 .tn-header .tn-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content::before { content: ''; display: block; flex-shrink: 0; width: 3rem; height: 2px; background: var(--wp--preset--color--burgundy); margin-bottom: 1.5rem; }
 .tn-header .tn-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { width: 100%; gap: 0; align-items: stretch; }
 .tn-header .tn-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { width: 100%; align-items: stretch; border-bottom: 1px solid var(--wp--preset--color--silver); }
 .tn-header .tn-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; min-height: 64px; padding: 1.15rem 0; font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.75rem, 5vw, 2rem); font-weight: 400; line-height: 1.2; text-align: left; overflow-wrap: anywhere; }
 .tn-header .tn-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { content: ''; width: .5rem; height: .5rem; flex-shrink: 0; margin-inline-end: .25rem; border-top: 1px solid var(--wp--preset--color--burgundy); border-right: 1px solid var(--wp--preset--color--burgundy); transform: rotate(45deg); }
 .tn-header .tn-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: grid; place-items: center; min-width: 44px; min-height: 44px; width: 44px; height: 44px; border: 1px solid var(--wp--preset--color--silver); border-radius: 50%; color: var(--wp--preset--color--burgundy); }
 .tn-header .tn-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover { background: var(--wp--preset--color--silver); }
 .tn-header .tn-navigation .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg { width: 20px; height: 20px; }
 .tn-hero { min-height: 680px; }
 .tn-planner-inner { grid-template-columns: 1fr; gap: 2rem; }
 .tn-planner-title { padding: 0; }
 .tn-planner-title br { display: none; }
 .tn-planner-title em { margin-inline-start: .25em; }
 .tn-planner-fields { border: 0; padding-left: 0; }
 .tn-services-grid { grid-template-columns: 1fr; }
 .tn-service h3 { font-size: 1.5rem; }
 .tn-service-icon { width: 115px; }
 .tn-industries-inner { grid-template-columns: 1fr; }
 .tn-industry-lens { max-width: 600px; margin-inline: auto; width: 100%; }
 .tn-industry-more { text-align: left; }
 .tn-footer-inner { align-items: flex-start; }
}
@media (max-width: 600px) {
 .tn-container { width: calc(100% - 2.5rem); }
 .tn-header-inner { min-height: 80px; gap: .75rem; }
 .tn-logo { width: min(235px, calc(100vw - 110px)); }
 .tn-header .wp-block-buttons { display: none; }
 .tn-hero { min-height: 0; overflow: hidden; }
 .tn-hero-copy { padding-block: 2.75rem 2rem; }
 .tn-hero-title { font-size: var(--wp--preset--font-size--xx-large); }
 .tn-hero-description { font-size: 1rem; margin-block: 1.25rem 1.5rem; }
 .tn-hero-photo { position: relative; margin-top: 0; }
 .tn-hero-photo img { width: 150%; max-width: none; margin-left: -45%; }
 .tn-hero::after { background: linear-gradient(180deg,transparent 60%,rgba(39,42,44,.05)); }
 .tn-planner { padding-block: 2.5rem; }
 .tn-section { padding-block: 3rem; }
 .tn-service { padding: 1rem .85rem; gap: .85rem; }
 .tn-service-icon { width: 82px; }
 .tn-service-icon img { height: 65px; }
 .tn-service h3 { font-size: 1.25rem; }
 .tn-corridors-inner { grid-template-columns: 1fr; gap: 2rem; }
 .tn-corridors-map { max-width: 410px; margin-inline: auto; }
 .tn-industries-list { gap: .5rem 1.5rem; }
 .tn-industry-link { font-size: 1.15rem; }
 .tn-industry-link a { min-height: 44px; padding-block: .5rem; }
 .tn-contact-actions { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
 .tn-email { border: 0; padding-left: 0; }
 .tn-footer-inner, .tn-footer-info { display: block; }
 .tn-footer-logo { width: 220px; margin-bottom: 1.75rem; }
 .tn-footer-info p { margin-block: .75rem; }
 .tn-footer-links { line-height: 2.5; }
 .tn-page { padding-block: 2.75rem 4rem; }
 .tn-page .tn-corridors { padding-inline: 1.25rem; }
}
@media (max-width: 360px) {
 .tn-industries-list { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .tn-service { transition: none; } }
