.offer-intro h1{font-size:43px;line-height:1.25;margin-bottom:25px}
.offer-intro h1 em{white-space:normal}
.offer-intro>p a{text-decoration:underline;text-underline-offset:3px}
.offer-intro>p a:hover{color:var(--accent)}
.service-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:20px}
.service-actions .service-more{min-height:44px;padding:10px 18px;gap:22px;font-size:12px;white-space:nowrap}
.offer-list .service-actions .text-link{margin-top:0}
.service-more:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.project-media{--media-height:55svh;height:var(--media-height);position:relative;overflow:hidden;background:#090b0c}
.project-media>img{width:100%;height:100%;object-fit:cover}
.project-media.screenshot-crop>img{position:absolute;left:50%;top:50%;width:min(100%,calc(var(--media-height)*var(--photo-aspect,.75)));height:auto;max-width:none;transform:translate(-50%,-50%)}
.project-photos{display:flex;justify-content:center;gap:10px;padding:12px}
.project-photos[hidden]{display:none}
.project-photos button{width:66px;height:50px;padding:0;border:1px solid #ffffff40;background:transparent;overflow:hidden;cursor:pointer}
.project-photos button[aria-pressed="true"]{border:2px solid var(--accent)}
.project-photos img{width:100%;height:100%;object-fit:cover}
@media(max-width:599px){.project-media{--media-height:49svh}}
@media(max-width:1199px){.offer-intro h1{font-size:37px}}
@media(max-width:899px){.offer-intro h1{font-size:30px}}
@media(max-width:599px){.offer-intro h1{font-size:31px}}
