/* One compact footer across every Loopi page. */
footer.original-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:28px!important;
  min-height:0!important;
  padding:22px 5% 20px!important;
  background:#151515!important;
  color:#fff!important;
}
.original-footer .footer-brand{
  display:flex;flex-direction:column;align-items:flex-start;gap:1px;
}
.original-footer .footer-brand img{
  display:block;width:145px!important;height:auto!important;max-width:145px!important;
  margin:0!important;background:transparent!important;filter:none!important;
}
.original-footer .footer-company{
  font:400 8px/1.3 Arial,sans-serif!important;letter-spacing:.025em;
  color:#8c8c8c;display:block;margin:0!important;
}
.original-footer .footer-details{
  display:flex!important;justify-content:flex-end;align-items:center;
  margin:0!important;padding:0!important;text-align:right!important;
}
.original-footer .footer-details a.micro-cta{
  margin:0!important;font-size:11px!important;
  padding:8px 10px!important;align-self:center!important;
}
@media(max-width:600px){
  footer.original-footer{padding:20px 5%!important;gap:14px!important}
  .original-footer .footer-brand img{width:112px!important;max-width:112px!important}
  .original-footer .footer-company{font-size:7px!important}
  .original-footer .footer-details{margin:0!important;text-align:right!important}
  .original-footer .footer-details a.micro-cta{font-size:9px!important;padding:6px!important;gap:7px!important}
  .original-footer .footer-details .micro-cta-arrow{width:22px;height:22px;flex-basis:22px}
}

/* Unified inner-page title scale, modelled on Our Services. */
body:has(.services-title) .services-title,
body:has(.case-study) .page-hero,
body:has(.editorial-section) .editorial-hero,
body:has(.contact-hero) .contact-hero{
 min-height:0!important;
 padding:58px 5% 62px!important;
 background:#fff;
}
body:has(.contact-hero) .contact-hero{display:block!important}
body:has(.services-title) .services-title h1,
body:has(.case-study) .page-hero h1,
body:has(.editorial-section) .editorial-hero h1,
body:has(.contact-hero) .contact-hero h1{
 font:900 clamp(52px,8.8vw,128px)/.9 Arial,sans-serif!important;
 letter-spacing:-.095em!important;
 text-transform:uppercase!important;
 max-width:1450px!important;
 margin:26px 0 0!important;
 overflow-wrap:normal;
}
body:has(.services-title) .services-title h1 span,
body:has(.case-study) .page-hero h1 span,
body:has(.editorial-section) .editorial-hero h1 span,
body:has(.contact-hero) .contact-hero h1 span{
 color:#b7b7b7!important;
}
body:has(.case-study) .page-hero p{
 margin:18px 0 0;max-width:800px;
}
body:has(.editorial-section) .editorial-hero>p:not(.kicker){
 margin-top:16px;
}
body:has(.contact-hero) .contact-hero .contact-stop{
 color:#b7b7b7!important;
}
/* A quiet sticky header that retains the navigation on long pages. */
.site-header{
 position:sticky!important;
 top:0!important;
 z-index:100!important;
 height:84px!important;
 min-height:0!important;
 background:#fff!important;
 box-shadow:0 1px 0 rgba(0,0,0,.12);
}
@media(max-width:790px){
 .site-header{height:auto!important;min-height:72px!important}
 body:has(.services-title) .services-title,
 body:has(.case-study) .page-hero,
 body:has(.editorial-section) .editorial-hero,
 body:has(.contact-hero) .contact-hero{padding:42px 5% 46px!important}
 body:has(.services-title) .services-title h1,
 body:has(.case-study) .page-hero h1,
 body:has(.editorial-section) .editorial-hero h1,
 body:has(.contact-hero) .contact-hero h1{
  font-size:clamp(45px,9.2vw,85px)!important;
  letter-spacing:-.085em!important;
 }
}
@media(max-width:480px){
 body:has(.services-title) .services-title h1,
 body:has(.case-study) .page-hero h1,
 body:has(.editorial-section) .editorial-hero h1,
 body:has(.contact-hero) .contact-hero h1{
  font-size:clamp(39px,10vw,55px)!important;
  overflow-wrap:anywhere;
 }
}
.original-footer .footer-brand{
 align-items:center!important;
}
.original-footer .footer-company{
 width:100%;text-align:center!important;
}

/* Reveal navigation on upward scroll; hide on downward scroll. */
.site-header{
 transform:translateY(0);
 transition:transform .32s cubic-bezier(.22,.7,.25,1);
 will-change:transform;
}
.site-header.header-hidden{
 transform:translateY(-102%);
 pointer-events:none;
}
@media(prefers-reduced-motion:reduce){
 .site-header{transition:none!important}
}

/* Keep the Get in Touch label legible when the dark hover fill expands. */
.site-header nav a.micro-cta:is(:hover,:focus-visible){
 color:#fff!important;
 opacity:1!important;
}
.site-header nav a.micro-cta:is(:hover,:focus-visible) .micro-cta-arrow{
 color:#151515!important;
}

/* Official Loopi profiles, matched to the compact footer. */
.original-footer .footer-details{
 display:flex!important;
 flex-direction:row!important;
 align-items:center!important;
 justify-content:flex-end!important;
 flex-wrap:wrap;
 gap:clamp(12px,2.2vw,30px)!important;
}
.original-footer .footer-social{
 display:flex!important;
 flex-direction:row!important;
 align-items:center!important;
 flex-wrap:nowrap;
 gap:9px!important;
}
.original-footer .footer-social a{
 display:inline-flex!important;
 width:34px;height:34px;min-width:34px;
 align-items:center;justify-content:center;
 border:1px solid #666;border-radius:50%;
 color:#fff!important;background:transparent;
 text-decoration:none!important;
 transition:background .25s,color .25s,border-color .25s,transform .25s;
}
.original-footer .footer-social a svg{
 width:17px;height:17px;display:block;flex-shrink:0;
}
.original-footer .footer-social a:is(:hover,:focus-visible){
 background:#fff!important;color:#151515!important;
 border-color:#fff;transform:translateY(-2px);opacity:1!important;
}
.original-footer .footer-social a:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:600px){
 .original-footer .footer-details{
  gap:12px!important;
 }
 .original-footer .footer-social{gap:5px!important}
 .original-footer .footer-social a{
  width:28px;height:28px;min-width:28px;
 }
 .original-footer .footer-social a svg{width:14px;height:14px}
}
@media(prefers-reduced-motion:reduce){
 .original-footer .footer-social a{transition:none!important}
 .original-footer .footer-social a:hover{transform:none}
}
