/* hot-patch 19 Oct 2026: sector roundel + footer icons */
.hero-band .hero-band__bar{position:relative}
body .hero-band .hero-band__pair :is(.hero-logo,.trades-logo){transform:none!important}
body .hero-band .hero-band__pair .hero-roundel{position:absolute!important;top:6px;left:calc(100% - var(--tp-pr,24px) - var(--door-roundel-w,64px));transform:none!important;transition:left .6s cubic-bezier(.65,0,.35,1),top .6s cubic-bezier(.65,0,.35,1)!important;z-index:2}
body.is-nav-away .hero-band .hero-band__pair .hero-roundel{left:var(--tp-pl,24px);top:calc(50% - var(--door-roundel-w,64px)/2)}
@media (prefers-reduced-motion:reduce){body .hero-band .hero-band__pair .hero-roundel{transition:none!important}}
.site-footer__social.tp-icons{display:flex;flex-wrap:wrap;gap:14px;list-style:none;padding:0;margin:.75rem 0 0;justify-content:center}
.tp-icons a{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border-radius:50%;text-decoration:none}
.tp-icons a:focus-visible{outline:2px solid #D6870F;outline-offset:3px}
.tp-icon{display:block;width:28px;height:28px;background:linear-gradient(110deg,#EB9B23 0%,#D6870F 40%,#fff3d6 50%,#D6870F 60%,#EB9B23 100%);background-size:300% 100%;background-position:100% 0;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;transition:background-position .9s ease,transform .2s}
.tp-icons a:hover .tp-icon,.tp-icons a:focus-visible .tp-icon{background-position:0 0;transform:scale(1.08)}
.site-footer__blurb a.tp-cal{color:#D6870F;font-weight:700;text-decoration:underline;text-underline-offset:.15em}
.site-footer__blurb a.tp-cal:hover{color:#EB9B23}
/* JOB 2 footer tidy */
.site-footer__blurb a.tp-cal{white-space:nowrap}
.site-footer__blurb{text-align:center}
.newsletter__line.tp-nl{text-align:center;text-wrap:balance}
@media (width>=800px){
 .site-footer__top{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr)!important;align-items:start}
 .site-footer__top>div:nth-child(1){order:2}
 .site-footer__top>div:nth-child(2){order:1}
 .site-footer__top>div:nth-child(3){order:3}
 .newsletter__line.tp-nl{white-space:nowrap;width:max-content;margin-left:50%;transform:translateX(-50%)}
}
/* brands sizzle */
.tp-brands-sizzle{width:100%;max-width:none;margin:var(--space-6,2rem) 0}
.tp-brands-sizzle .video{position:relative;aspect-ratio:16/9;width:100%;overflow:hidden;background:#000}
.tp-brands-sizzle .video__thumb,.tp-brands-sizzle iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.hero-slogan + .tp-brands-sizzle{margin-top:var(--space-6,2rem)!important;margin-bottom:var(--space-6,2rem)!important}
/* theatrical hero split + orange intro cards */
.tp-hero-card{border:1px solid #EB9B23;padding:var(--space-8,2.5rem) var(--space-6,1.5rem);background:var(--color-bg,#fff);text-align:center;margin-top:var(--space-6,2rem)}
.tp-hero-card .lede:first-child{margin-top:0}
.tp-hero-card .hero__actions{margin-bottom:0}
.tp-hero-split{display:flex;flex-direction:column;align-items:center;gap:var(--space-6,1.5rem);margin-top:var(--space-6,2rem)}
.tp-hero-split .tp-hero-card{margin-top:0}
.tp-hero-vid{margin:0 auto;position:relative;aspect-ratio:9/16;width:min(100%,360px);max-width:100%;background:#111;overflow:hidden}
.tp-hero-vid__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
@media (width>=900px){
 .tp-hero-split{flex-direction:row;align-items:stretch}
 .tp-hero-split .tp-hero-card{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center}
 .tp-hero-vid{flex:0 0 var(--tp-vw,360px);width:var(--tp-vw,360px);aspect-ratio:auto;max-height:none;margin:0}
}
.hero-slogan{margin-bottom:var(--space-6,2rem)}.hero-slogan + .tp-brands-sizzle,.hero-slogan + .tp-hero-split{margin-top:2rem!important}

/* mobile fix */
.tp-hero-split>.tp-hero-card{width:100%;box-sizing:border-box}
.tp-hero-card{box-sizing:border-box;max-width:100%}
@media (width<900px){.tp-hero-split{gap:2rem}.tp-hero-vid{flex:none;height:auto}.tp-hero-vid__video{object-fit:contain}}
@media (width>=900px){.tp-hero-split{align-items:stretch}}

/* 19 Oct: captions after media rows had inline negative margin-top (space-3 - space-8 = -20px), overlapping images on phone. Always keep >=1rem gap below desktop. */
@media (max-width: 1023px){
  .case-media-row + .media-caption{margin-top:1rem !important;position:relative;}
}
