@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}

/* Three equally visible service cards; orange identifies the current image. */
.hero-controls{gap:20px}
.hero-tabs{gap:10px}
.hero-tab,.hero-tab:not(:first-child){display:block;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 .tab-number{display:block;font-size:10px;line-height:1;margin:0 0 11px;padding:0;color:var(--orange);font-weight:700}
.hero-tab.is-active .tab-number{color:var(--black)}
.hero-tab-title{display:block;font-size:clamp(17px,1.5vw,24px);font-weight:700;line-height:1.18;letter-spacing:-.025em}
.hero-tab .tab-arrow{position:absolute;right:18px;top:14px;font-size:24px;color:var(--orange);opacity:1;margin:0}
.hero-tab.is-active .tab-arrow{color:var(--black)}

/* 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-media figcaption{font-size:9px;line-height:1.5;color:#696762;letter-spacing:.025em;margin-top:14px}
.management-content{min-width:0}
.management-intro{margin-bottom:18px}
.management-kicker{font-size:14px;font-weight:900;text-transform:uppercase;color:var(--burnt);line-height:1.5;margin-bottom:12px}
.management-intro h2{max-width:620px;font-size:46px;font-weight:800;letter-spacing:-.04em;line-height:1.04;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)}
  .management-intro h2{font-size:42px}
}
@media(max-width:760px){
  .hero-tabs{gap:6px}
  .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(11px,3.3vw,16px);line-height:1.35;letter-spacing:-.025em}
  .hero-tab .tab-number{font-size:9px;margin-bottom:14px}
  .hero-tab .tab-arrow{display:block;right:8px;top:9px;font-size:18px}
  .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(31px,8vw,36px);line-height:1.06}
  .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}
