@charset "UTF-8";

/* The word breaks apart letter by letter, then settles back into place. */
.repair-word{display:inline-block;white-space:nowrap;position:relative}
.repair-char{display:inline-block;transform-origin:50% 85%;animation:repair-rebuild 8s cubic-bezier(.3,.05,.35,1) infinite;will-change:transform}
.repair-char:nth-of-type(2){--fall-x:-.12em;--fall-y:.30em;--fall-rotate:-22deg;animation-delay:.70s}
.repair-char:nth-of-type(3){--fall-x:-.05em;--fall-y:.46em;--fall-rotate:31deg;animation-delay:.74s}
.repair-char:nth-of-type(4){--fall-x:.03em;--fall-y:.21em;--fall-rotate:-29deg;animation-delay:.78s}
.repair-char:nth-of-type(5){--fall-x:.12em;--fall-y:.38em;--fall-rotate:24deg;animation-delay:.82s}
.repair-char:nth-of-type(6){--fall-x:.17em;--fall-y:.52em;--fall-rotate:-39deg;animation-delay:.86s}
.repair-char:nth-of-type(7){--fall-x:.21em;--fall-y:.28em;--fall-rotate:33deg;animation-delay:.90s}
.repair-char:nth-of-type(8){--fall-x:.35em;--fall-y:.43em;--fall-rotate:65deg;animation-delay:.94s}
@keyframes repair-rebuild{
  0%,26%,100%{transform:translate3d(0,0,0) rotate(0);opacity:1}
  39%,47%{transform:translate3d(var(--fall-x),var(--fall-y),0) rotate(var(--fall-rotate));opacity:.82}
  64%{transform:translate3d(0,-.045em,0) rotate(-2deg);opacity:1}
  72%,90%{transform:translate3d(0,0,0) rotate(0);opacity:1}
}
.hero-lead{margin-top:42px}
.hero-contact-cta{font-size:16px;min-width:240px;justify-content:center}

/* Clear, square-cornered actions for the three service enquiries. */
.service-copy .text-link{justify-content:center;min-height:58px;padding:17px 16px;border:1px solid var(--orange);border-radius:0;background:var(--orange);color:var(--black);text-align:center;line-height:1.4;transition:background .25s,border-color .25s}
.service-copy .text-link:hover{background:#ed8c49;border-color:#ed8c49}
.location-strip{justify-content:flex-end}
.location-strip a{display:inline-block}

/* Four equally visible service cards; orange identifies the current image. */
.hero-controls{gap:20px}
.hero-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.hero-image.management-image{object-position:58% 44%}
.hero-tab,.hero-tab:not(:first-child){display:flex;align-items:center;position:relative;min-width:0;min-height:116px;padding:19px 22px;text-align:left;background:rgba(16,16,16,.9);border:1px solid #ffffff6b;color:#fff;transition:background .3s,color .3s,border-color .3s}
.hero-tab:last-child{border-right:1px solid #ffffff6b}
.hero-tab:before{display:none}
.hero-tab:hover{background:#292826;border-color:#fff}
.hero-tab.is-active{background:var(--orange);border-color:var(--orange);color:var(--black)}
.hero-tab.is-active:last-child{border-right-color:var(--orange)}
.hero-tab-title{display:block;font-size:clamp(17px,1.5vw,24px);font-weight:700;line-height:1.18;letter-spacing:-.025em}

/* Restore the original image-and-five-step project-management layout. */
.management-section{background:var(--paper);color:#111;padding:68px 0 72px}
.management-grid{display:grid;grid-template-columns:minmax(300px,.62fr) minmax(0,1.38fr);gap:34px;align-items:center}
.management-media{margin:0;min-width:0}
.management-image-frame{position:relative}
.management-image-frame:after{content:"";position:absolute;inset:20px;border:2px solid var(--orange);transform:translate(12px,12px);pointer-events:none}
.management-media img{width:100%;height:clamp(460px,48vw,620px);object-fit:cover;object-position:58% 44%}
.management-content{min-width:0}
.management-intro{margin-bottom:18px}
.management-intro h2{max-width:760px;color:var(--black);margin-bottom:20px}
.management-lead{max-width:620px;font-size:22px;font-weight:500;letter-spacing:-.02em;line-height:1.4;color:var(--black);margin-bottom:12px}
.management-intro>p:last-child{max-width:620px;font-size:17px;line-height:1.5;color:#555}
.management-process{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:0}
.management-process li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:14px;border:1px solid var(--line);background:#fff;min-width:0}
.management-process li:last-child{grid-column:1/-1}
.management-process li>span{font-size:21px;font-weight:900;line-height:1;color:var(--burnt);padding-top:3px}
.management-process h3{font-size:17px;font-weight:700;letter-spacing:-.02em;line-height:1.25;margin-bottom:6px}
.management-process p{font-size:14px;line-height:1.46;color:#555}
@media(max-width:1100px){
  .hero-tab,.hero-tab:not(:first-child){padding:17px;min-height:111px}
  .hero-tab-title{font-size:17px}
}
@media(max-width:1020px){
  .management-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .management-media img{height:clamp(380px,58vw,520px)}
}
@media(max-width:760px){
  .hero{min-height:760px}
  .hero-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .hero-tab,.hero-tab:not(:first-child){min-height:104px;padding:14px 9px;border:1px solid #ffffff6b}
  .hero-tab.is-active,.hero-tab.is-active:last-child{border-color:var(--orange)}
  .hero-tab-title{font-size:clamp(14px,3.5vw,19px);line-height:1.3;letter-spacing:-.025em}
  .hero .hero-contact-cta{font-size:14px;min-width:220px}
  .hero-lead{margin-top:38px}
  .management-section{padding:52px 0 56px}
  .management-media img{height:clamp(260px,74vw,320px)}
  .management-image-frame:after{inset:12px;transform:translate(8px,8px)}
  .management-intro h2{font-size:clamp(38px,10vw,55px);line-height:1.05}
  .management-lead{font-size:20px}
  .management-intro>p:last-child{font-size:16px}
  .management-process{grid-template-columns:minmax(0,1fr)}
  .management-process li{grid-template-columns:36px minmax(0,1fr);padding:16px;gap:10px}
  .management-process li:last-child{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){.repair-char{animation:none;transform:none;opacity:1;will-change:auto}}
body.motion-paused .repair-char{transform:none;opacity:1;will-change:auto}
