/* 1.4.6 shared breadcrumb contract. The ID specificity guard is deliberate:
   older bundled heroes protect source styles with one ID + !important. This
   isolated marker overrides only breadcrumb visuals, never device visibility. */

:is(#tpb-breadcrumb-contract,nav.tpb-breadcrumbs).tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs{--tpb-crumb-link:rgba(255,255,255,.82);--tpb-crumb-current:#fff;--tpb-crumb-separator:rgba(255,255,255,.58);font-family:'Triada Golos',system-ui,-apple-system,'Segoe UI',sans-serif!important;font-size:14px!important;font-weight:500!important;line-height:1.45!important;letter-spacing:0!important;text-transform:none!important;text-shadow:none!important;min-height:0!important;height:auto!important;max-height:none!important;white-space:normal!important;overflow:visible!important;border:0!important;background:none!important;box-shadow:none!important;padding-block:16px!important;}
:is(#tpb-breadcrumb-contract,nav.tpb-breadcrumbs).tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs--light{--tpb-crumb-link:#526681;--tpb-crumb-current:#123f79;--tpb-crumb-separator:#8090a5;}
:is(#tpb-breadcrumb-contract,nav.tpb-breadcrumbs).tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs .tpb-breadcrumb-items{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:baseline!important;gap:6px 8px!important;font:inherit!important;list-style:none!important;margin:0!important;padding:0!important;min-width:0!important;width:auto!important;max-width:100%!important;background:none!important;border:0!important;box-shadow:none!important;overflow:visible!important;}
:is(#tpb-breadcrumb-contract,nav.tpb-breadcrumbs).tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs .tpb-breadcrumb-item{display:inline-flex!important;flex:0 1 auto!important;align-items:baseline!important;gap:8px!important;min-width:0!important;width:auto!important;max-width:100%!important;margin:0!important;padding:0!important;float:none!important;background:none!important;border:0!important;box-shadow:none!important;list-style:none!important;font:inherit!important;}
:is(#tpb-breadcrumb-contract,nav.tpb-breadcrumbs).tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs .tpb-breadcrumb-item::after{content:none!important;}
:is(#tpb-breadcrumb-contract,nav.tpb-breadcrumbs).tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs .tpb-breadcrumb-item+.tpb-breadcrumb-item::before{content:'›'!important;display:inline-block!important;position:static!important;flex:0 0 auto!important;transform:none!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;background:none!important;color:var(--tpb-crumb-separator)!important;font:inherit!important;}
:is(#tpb-breadcrumb-contract,nav.tpb-breadcrumbs).tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs .tpb-breadcrumb-item>a,:is(#tpb-breadcrumb-contract,nav.tpb-breadcrumbs).tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs .tpb-breadcrumb-item>span{display:inline!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;font:inherit!important;letter-spacing:0!important;text-transform:none!important;white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere!important;text-overflow:clip!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:var(--tpb-crumb-link)!important;text-decoration:none!important;text-decoration-line:none!important;}
:is(#tpb-breadcrumb-contract,nav.tpb-breadcrumbs).tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs .tpb-breadcrumb-item>[aria-current]{color:var(--tpb-crumb-current)!important;font-weight:600!important;}
:is(#tpb-breadcrumb-contract,nav.tpb-breadcrumbs).tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs .tpb-breadcrumb-item>a:hover{color:var(--tpb-crumb-current)!important;text-decoration:underline!important;text-underline-offset:3px;}
:is(#tpb-breadcrumb-contract,nav.tpb-breadcrumbs).tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs .tpb-breadcrumb-item>a:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px!important;}
@media(max-width:767px){
 :is(#tpb-breadcrumb-contract,nav.tpb-breadcrumbs).tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs{font-size:13px!important;padding-block:12px!important;}
 :is(#tpb-breadcrumb-contract,nav.tpb-breadcrumbs).tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs .tpb-breadcrumb-item--desktop{display:none!important;}
}
/* Keep separators between visible items, even with a desktop-only first item. */
:is(#tpb-breadcrumb-contract,nav.tpb-breadcrumbs).tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs .tpb-breadcrumb-item:first-child::before{content:none!important;}
/* Company breadcrumbs participate in flow; long names cannot overlap its title. */
.tc-company-hero .tcch__breadcrumbs.tpb-breadcrumbs{position:relative;top:auto;left:auto;margin:0 0 16px!important;}

/* Theme duplicate row: only hide when that viewport has a rendered replacement.
   No navigation is added to Home. Ordinary pages without our heroes are untouched. */
body.tpb-layout-page.tpb-theme-hero-crumbs:not(.wp-admin) #tri-main.tri-site-main > .tri-section:has(> .tri-container:only-child > nav.tri-breadcrumbs:only-child){display:block!important;}
@media(min-width:1200px){
body.tpb-layout-page.tpb-theme-hero-crumbs:not(.wp-admin) #tri-main.tri-site-main:has(> article .tpb-layout-hero:not([data-tpb-hero-hide-desktop="1"]) .tpb-breadcrumbs:not(.tpb-breadcrumbs--mobile)) > .tri-section:has(> .tri-container:only-child > nav.tri-breadcrumbs:only-child){display:none!important;}
}
@media(min-width:768px) and (max-width:1199px){
body.tpb-layout-page.tpb-theme-hero-crumbs:not(.wp-admin) #tri-main.tri-site-main:has(> article .tpb-layout-hero:not([data-tpb-breakpoints="768,1024"]):not([data-tpb-hero-hide-tablet="1"]) .tpb-breadcrumbs:not(.tpb-breadcrumbs--mobile)) > .tri-section:has(> .tri-container:only-child > nav.tri-breadcrumbs:only-child){display:none!important;}
}
@media(max-width:767px){
body.tpb-layout-page.tpb-theme-hero-crumbs:not(.wp-admin) #tri-main.tri-site-main:has(> article .tpb-layout-hero:not([data-tpb-hero-hide-mobile="1"]) .tpb-breadcrumbs:not(.tpb-breadcrumbs--desktop)) > .tri-section:has(> .tri-container:only-child > nav.tri-breadcrumbs:only-child){display:none!important;}
}

/* Full-bleed template canvas ends at its final visible block. Remove only the
   Triada theme's outer article padding, never inner section/form spacing. */
body.tpb-layout-page:not(.wp-admin) #tri-main.tri-site-main > article.tri-section:has(.tpb-layout-hero[data-tpb-fullbleed="1"]){padding-block-end:0!important;}
/* Existing Projects footer compensation must not subtract that removed padding twice. */
body.tpb-layout-page:not(.wp-admin) #tri-main.tri-site-main > article.tri-section:has(.tpb-layout-hero[data-tpb-fullbleed="1"]) .tp-block-projects-cta.tp-cta--flush-footer.tp-cta--footer-gap-ready{margin-bottom:0!important;}

@media(min-width:768px) and (max-width:1023px){body.tpb-layout-page.tpb-theme-hero-crumbs:not(.wp-admin) #tri-main.tri-site-main:has(> article .tpb-layout-hero[data-tpb-breakpoints="768,1024"]:not([data-tpb-hero-hide-tablet="1"]) .tpb-breadcrumbs:not(.tpb-breadcrumbs--mobile)) > .tri-section:has(> .tri-container:only-child > nav.tri-breadcrumbs:only-child){display:none!important;}}

@media(min-width:1024px) and (max-width:1199px){body.tpb-layout-page.tpb-theme-hero-crumbs:not(.wp-admin) #tri-main.tri-site-main:has(> article .tpb-layout-hero[data-tpb-breakpoints="768,1024"]:not([data-tpb-hero-hide-desktop="1"]) .tpb-breadcrumbs:not(.tpb-breadcrumbs--mobile)) > .tri-section:has(> .tri-container:only-child > nav.tri-breadcrumbs:only-child){display:none!important;}}

@media(max-width:767px){:is(#tpb-breadcrumb-contract,nav.tpb-breadcrumbs).tpb-breadcrumbs.tpb-breadcrumbs.tpb-breadcrumbs .tpb-breadcrumb-item:nth-child(1 of :not(.tpb-breadcrumb-item--desktop))::before{content:none!important;}}

/* Breadcrumb spacing has a single owner; source wrappers must not add a second top gap. */
.tserv.tserv-block-hero .tserv-pc section.triada-hero-height-match .triada-hero-breadcrumbs,
.ts-block.ts-hero .ts-desktop section.triada-hero-height-match .triada-hero-breadcrumbs{padding-top:0!important;}
.tc-company-hero .tcch__inner:has(>.tpb-breadcrumbs){grid-template-rows:auto minmax(0,1fr);padding-top:0;row-gap:0;}
.tc-company-hero .tcch__inner>.tpb-breadcrumbs{grid-column:1/-1;grid-row:1;width:100%;position:relative;top:auto;left:auto;margin:0!important;}
.tc-company-hero .tcch__inner:has(>.tpb-breadcrumbs)>.tcch__copy,
.tc-company-hero .tcch__inner:has(>.tpb-breadcrumbs)>.tcch__visual{grid-row:2;}
.tp-block-projects-hero .tp-projects-hero__inner:has(>.tpb-breadcrumbs){grid-template-rows:auto minmax(0,1fr) auto;padding-top:0;}
.tp-block-projects-hero .tp-projects-hero__inner>.tpb-breadcrumbs{position:relative;top:auto;left:auto;width:100%;margin:0!important;}
@media(max-width:767px){
 .tc-company-hero .tcch__inner:has(>.tpb-breadcrumbs){justify-content:flex-start;padding-top:0;}
 .tp-block-projects-hero .tp-projects-hero__inner:has(>.tpb-breadcrumbs)>.tp-projects-hero__content{padding-top:24px;}
}

/* Matching light fallback when a managed Hero/its breadcrumbs are disabled.
   Home and ordinary pages keep their original theme navigation. */
body.tpb-layout-page.tpb-theme-hero-crumbs:not(.wp-admin) #tri-main.tri-site-main > .tri-section:has(> .tri-container:only-child > nav.tri-breadcrumbs:only-child){padding-block:0!important;}
body.tpb-layout-page.tpb-theme-hero-crumbs #tri-main nav.tri-breadcrumbs{font-family:'Triada Golos',system-ui,-apple-system,'Segoe UI',sans-serif!important;font-size:14px!important;font-weight:500!important;line-height:1.45!important;letter-spacing:0!important;text-transform:none!important;padding-block:16px!important;color:#526681;}
body.tpb-layout-page.tpb-theme-hero-crumbs #tri-main nav.tri-breadcrumbs :is(a,span){font:inherit!important;letter-spacing:0!important;white-space:normal!important;overflow-wrap:anywhere;}
body.tpb-layout-page.tpb-theme-hero-crumbs #tri-main nav.tri-breadcrumbs .tri-breadcrumbs__inner>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px;}
body.tpb-layout-page.tpb-theme-hero-crumbs #tri-main nav.tri-breadcrumbs a{color:#526681!important;text-decoration:none!important;}
body.tpb-layout-page.tpb-theme-hero-crumbs #tri-main nav.tri-breadcrumbs a:hover{color:#123f79!important;text-decoration:underline!important;text-underline-offset:3px;}
body.tpb-layout-page.tpb-theme-hero-crumbs #tri-main nav.tri-breadcrumbs a:focus-visible{outline:2px solid currentColor;outline-offset:4px;}
body.tpb-layout-page.tpb-theme-hero-crumbs #tri-main nav.tri-breadcrumbs [aria-current="page"]{color:#123f79!important;font-weight:600!important;}
body.tpb-layout-page.tpb-theme-hero-crumbs #tri-main nav.tri-breadcrumbs .tpb-theme-crumb-separator{color:#8090a5;}
@media(max-width:767px){body.tpb-layout-page.tpb-theme-hero-crumbs #tri-main nav.tri-breadcrumbs{font-size:13px!important;padding-block:12px!important;}}

/* 1.4.8: Company uses the Projects reference's centered mobile copy region.
   Keep breadcrumbs at the top; available space adapts to text/viewport height. */
@media(max-width:767px){
 .tc-company-hero .tcch__inner:has(>.tpb-breadcrumbs)>.tcch__copy{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center;padding-block:24px;}
}

/* Theme-owned neutral TPB shell is already full width. Do not break direct
   full-aligned blocks out a second time with 100vw (which includes scrollbars).
   Narrow/wide blocks, nested Groups/Columns and standalone canvases keep their
   existing geometry. The optional seamless wrapper has the same full width. */
body.wp-theme-triada:not(.wp-admin) #tri-main > #triada-block-page > :is(.tw-block,.th-block,.tp-block,.tc-block,.tserv,.tai).alignfull,
body.wp-theme-triada:not(.wp-admin) #tri-main > #triada-block-page > .tpb-block-stack > :is(.tw-block,.th-block,.tp-block,.tc-block,.tserv,.tai).alignfull,
body.wp-theme-triada:not(.wp-admin) #tri-main > #triada-block-page > .ts-block.ts-fullwidth,
body.wp-theme-triada:not(.wp-admin) #tri-main > #triada-block-page > .tpb-block-stack > .ts-block.ts-fullwidth {
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin-inline:0!important;
  left:0!important;
  right:auto!important;
}
