html { background: #e7edf0; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { color: #fff; background: #a94728; }
:where(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid #c75d36; outline-offset: 4px; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.site-header { box-shadow: 0 10px 32px rgba(24,29,26,.035); }
.site-header::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 1px; background: linear-gradient(90deg,transparent,rgba(199,93,54,.28),transparent); }
.brand strong { color: #24343f; }
.button { position: relative; overflow: hidden; }
.button::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg,transparent 15%,rgba(255,255,255,.14) 48%,transparent 80%); transform: translateX(-130%); transition: transform .65s ease; }
.button:hover::after { transform: translateX(130%); }
.service-card,
.project-card,
.karkas-project-card { transition: transform .35s ease; }
.service-card:hover,
.karkas-project-card:hover { transform: translateY(-5px); }
.karkas-project-card__visual { border: 1px solid rgba(39,46,42,.08); }
.karkas-project-card { overflow: hidden; border-color: rgba(39,46,42,.11); box-shadow: 0 18px 55px rgba(23,29,25,.04); }
.karkas-project-card:hover { box-shadow: 0 30px 84px rgba(23,29,25,.1); }
.karkas-project-card__body { position: relative; }
.karkas-project-card__body::before { content:""; position:absolute; top:0; left:38px; width:48px; height:1px; background:#c75d36; }
.karkas-project-card__panel > img { filter: saturate(.9) contrast(1.02); transition: filter .45s, transform .65s cubic-bezier(.2,.7,.2,1); }
.karkas-project-card:hover .karkas-project-card__panel.is-active > img { filter: saturate(1) contrast(1.03); transform: scale(1.012); }
.karkas-section-head { position: relative; }
.karkas-section-head::after { content: ""; position: absolute; bottom: -28px; left: 0; width: 54px; height: 1px; background: #c75d36; }
.karkas-final { position: relative; isolation: isolate; }
.karkas-final::before { content: ""; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 50% 0,rgba(199,93,54,.13),transparent 43%); }
.karkas-option-grid article,
.karkas-benefit-grid article { transition: background .3s, transform .3s; }
.karkas-option-grid article:hover,
.karkas-benefit-grid article:hover { background: rgba(255,255,255,.035); }
.karkas-anchor-nav a { transition: color .2s; }
.karkas-anchor-nav a::after { content:""; display:block; width:0; height:1px; margin-top:6px; background:#c75d36; transition:width .25s; }
.karkas-anchor-nav a:hover::after,.karkas-anchor-nav a:focus-visible::after { width:100%; }
.karkas-faq details { transition: background .25s, padding .25s; }
.karkas-faq details[open] { padding-right: 18px; padding-left: 18px; background: rgba(241,245,247,.8); }
@media (max-width: 680px) {
  .karkas-section-head::after { bottom: -18px; }
  .service-card:hover,
  .karkas-project-card:hover { transform: none; }
  .karkas-project-card__body::before { left:28px; }
}
@media (prefers-reduced-motion: reduce) {
  .button::after { display: none; }
}
