/* TR Global v119 — public frontend visual integrity and image/text hardening */
body.public-site.tr-frontend-v119{overflow-x:hidden}
body.public-site.tr-frontend-v119 *,body.public-site.tr-frontend-v119 *::before,body.public-site.tr-frontend-v119 *::after{box-sizing:border-box}
body.public-site.tr-frontend-v119 :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,a,button,label,span,strong,small){-webkit-hyphens:none;hyphens:none;word-break:normal;overflow-wrap:break-word}
body.public-site.tr-frontend-v119 :is(h1,h2,h3){text-wrap:balance}
body.public-site.tr-frontend-v119 :is(p,li,dd){text-wrap:pretty}
body.public-site.tr-frontend-v119 img{display:block;max-width:100%}
body.public-site.tr-frontend-v119 img.tr-image-fallback{object-fit:contain!important;padding:18px!important;background:linear-gradient(145deg,#f7f9fd,#e7eef8)!important}

/* Keep the buyer hero artwork inside its own section at every width. */
body.tr-frontend-v119 .bx-hero{overflow:hidden}
body.tr-frontend-v119 .bx-hero-grid{align-items:center}
body.tr-frontend-v119 .bx-collage{height:520px;min-height:0;overflow:hidden;border-radius:30px;isolation:isolate}
body.tr-frontend-v119 .bx-collage-grid{height:100%;min-height:0;overflow:hidden}
body.tr-frontend-v119 .bx-collage figure{min-width:0;min-height:0}
body.tr-frontend-v119 .bx-collage img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 18%}
body.tr-frontend-v119 .bx-private-note{left:18px;bottom:18px;max-width:310px;z-index:5}

/* Keep public programme cards tidy and stop cropped placeholder artwork. */
body.tr-frontend-v119 .bx-program{display:flex;flex-direction:column;height:100%;min-height:350px}
body.tr-frontend-v119 .bx-program-media{height:190px;overflow:hidden;flex:0 0 auto}
body.tr-frontend-v119 .bx-program-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%}
body.tr-frontend-v119 .bx-program-media img[src$=".svg"]{object-fit:contain;object-position:center;padding:16px 24px;background:linear-gradient(145deg,#f7f9fd,#e7eef8)}
body.tr-frontend-v119 .bx-program-content{display:flex;flex-direction:column;flex:1;min-width:0}
body.tr-frontend-v119 .bx-program-content a{margin-top:auto;padding-top:15px}
body.tr-frontend-v119 .bx-visual-card img{object-position:center 20%}

/* Product-page illustrations are intentional references, not broken images. */
body.tr-frontend-v119 .product-photo-card{overflow:hidden}
body.tr-frontend-v119 .product-photo-placeholder{background:linear-gradient(145deg,#f7f9fd,#e7eef8)}
body.tr-frontend-v119 .product-placeholder-art{display:block;width:100%;height:100%;object-fit:contain;padding:10px;background:transparent}
body.tr-frontend-v119 .product-image-coming-soon{max-width:calc(100% - 36px);border:1px solid rgba(255,255,255,.58);box-shadow:0 16px 38px rgba(8,30,75,.18)}
body.tr-frontend-v119 .product-actions{align-items:stretch}
body.tr-frontend-v119 .product-actions .btn{white-space:normal;text-align:center}

/* Long labels and translated copy must remain inside their cards. */
body.tr-frontend-v119 :is(.bx-program,.bx-case,.bx-cred,.bx-route article,.bx-contact-card,.spec-grid article,.category,.fabric-card,.team-card){min-width:0}
body.tr-frontend-v119 :is(.bx-program-content,.bx-case,.spec-grid article,.category,.fabric-card) :is(h2,h3,h4,p,a,span,strong){max-width:100%}

@media(max-width:980px){
  body.tr-frontend-v119 .bx-collage{width:min(100%,680px);height:500px;margin-inline:auto}
  body.tr-frontend-v119 .bx-private-note{left:16px;right:auto;bottom:16px}
}
@media(max-width:640px){
  body.tr-frontend-v119 .bx-hero{padding-bottom:42px}
  body.tr-frontend-v119 .bx-collage{height:430px;border-radius:23px}
  body.tr-frontend-v119 .bx-collage-grid{height:100%}
  body.tr-frontend-v119 .bx-private-note{left:10px;right:10px;bottom:10px;max-width:none;padding:13px 14px;font-size:.78rem}
  body.tr-frontend-v119 .bx-collage figcaption{inset:auto 8px 8px;padding:8px 9px;font-size:.67rem}
  body.tr-frontend-v119 .bx-program{min-height:0}
  body.tr-frontend-v119 .bx-program-media{height:205px}
  body.tr-frontend-v119 .product-image-coming-soon{max-width:calc(100% - 24px)}
}
@media(max-width:380px){
  body.tr-frontend-v119 .bx-collage{height:390px}
  body.tr-frontend-v119 .bx-collage figcaption{display:none}
  body.tr-frontend-v119 .bx-private-note{font-size:.74rem;line-height:1.42}
}

/* Keep the keyboard skip link fully off-canvas until it receives focus. */
body.tr-frontend-v119 .skip-link{top:-120px!important;transform:none!important}
body.tr-frontend-v119 .skip-link:focus{top:12px!important}
