/* Homepage consolidated CSS — logo, hero and active service cards */

/* logo-v2.css */
.logo{justify-self:start;display:flex;align-items:center;width:235px;height:72px;text-decoration:none;transform:none;font-size:0;line-height:0}.logo img{display:block;width:235px;height:72px;max-width:100%;object-fit:contain;object-position:left center}.logo span,.logo small{display:none!important}.logo:hover{transform:translateY(-1px)}.service .service-shot,.service .service-shot:first-child{background:transparent!important}.service .service-shot:first-child img{object-fit:cover!important;padding:0!important}.service .service-gallery{background:transparent!important}@media(max-width:560px){.logo{width:175px;height:58px}.logo img{width:175px;height:58px;max-width:100%}}

/* hero-fixes.css */
/* Homepage hero refinements */
@media (min-width:901px){
  .hero-stage{min-height:calc(100vh - 128px)!important;}
  .hero-meta span:last-child{position:absolute;right:58%;white-space:nowrap;}
}


/* services-real.css */
/* Real service cards: individual assets, live text and restrained motion */
.services-section{padding:105px 0 85px!important}
.services-intro{display:grid;grid-template-columns:150px minmax(0,1fr) 300px;gap:28px;align-items:end;margin-bottom:42px}
.services-intro .kicker{align-self:start;padding-top:8px}
.services-intro h2{grid-column:2;margin:0;font-size:clamp(72px,8vw,124px);line-height:.82;letter-spacing:-.075em}
.services-intro>p:last-child{grid-column:3;margin:0 0 8px;font:italic 18px/1.45 Georgia,serif;color:#6f6a62}
.service-grid-real{display:grid;grid-template-columns:1.15fr 1.15fr 1fr 1fr;grid-template-rows:repeat(4,132px) 170px;gap:10px}
.service-card{position:relative;display:block;overflow:hidden;isolation:isolate;background:#121212;color:#fff;text-decoration:none}
.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.07) saturate(.72);transition:transform .7s cubic-bezier(.2,.65,.2,1),filter .45s ease}
.service-card:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,3,3,.74),rgba(3,3,3,.11) 74%);transition:background .4s ease}
.service-card:after{content:"";position:absolute;z-index:2;top:-25%;bottom:-25%;left:-12%;width:3px;background:#e3342f;box-shadow:0 0 22px 5px rgba(227,52,47,.42);transform:translateX(-80px) rotate(18deg);transition:transform .6s cubic-bezier(.2,.65,.2,1)}
.service-card h3{position:absolute;z-index:3;left:24px;bottom:21px;margin:0;color:#fff;font-size:clamp(26px,2.45vw,46px);line-height:.9;letter-spacing:-.06em;transition:transform .35s ease}
.service-card h3:after{content:"";display:block;width:0;height:2px;margin-top:13px;background:#e3342f;transition:width .35s ease}
.service-card .card-arrow{position:absolute;z-index:3;top:17px;right:17px;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,255,255,.88);border-radius:50%;font:400 21px/1 Arial;color:#fff;transition:transform .3s ease,background .3s ease,border-color .3s ease}
.service-card:hover img{transform:scale(1.055);filter:contrast(1.14) saturate(.9)}
.service-card:hover:before{background:linear-gradient(90deg,rgba(3,3,3,.62),rgba(3,3,3,.04) 74%)}
.service-card:hover:after{transform:translateX(760px) rotate(18deg)}
.service-card:hover h3{transform:translateY(-4px)}
.service-card:hover h3:after{width:76px}
.service-card:hover .card-arrow{background:#e3342f;border-color:#e3342f;transform:translate(3px,-3px)}
.service-card:focus-visible{outline:3px solid #e3342f;outline-offset:3px}
.card-1{grid-column:1/3;grid-row:1/3}.card-2{grid-column:3/5;grid-row:1}.card-3{grid-column:3/5;grid-row:2}.card-4{grid-column:1/3;grid-row:3/5}.card-5{grid-column:3/5;grid-row:3}.card-6{grid-column:3/5;grid-row:4}.card-7{grid-column:1/5;grid-row:5}
.card-2:before,.card-6:before{background:linear-gradient(90deg,rgba(6,6,6,.62),rgba(6,6,6,.05) 74%)}
.card-7:before{background:linear-gradient(90deg,rgba(3,3,3,.85),rgba(3,3,3,.38) 48%,rgba(3,3,3,.03) 78%)}
.card-7 h3{font-size:clamp(31px,3.2vw,58px)}
@media(max-width:900px){.services-section{padding:75px 0 58px!important}.services-intro{display:block;margin-bottom:32px}.services-intro .kicker{margin-bottom:16px}.services-intro>p:last-child{margin-top:18px;font-size:16px}.service-grid-real{grid-template-columns:1fr;grid-template-rows:none;gap:12px}.service-card,.card-1,.card-2,.card-3,.card-4,.card-5,.card-6,.card-7{grid-column:auto;grid-row:auto;height:250px}.card-1,.card-4{height:310px}.card-7{height:230px}.service-card h3{font-size:40px}.service-card:after{display:none}}
