.service-card{position:relative;display:flex;flex-direction:column;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.service-card:hover{border-color:var(--line-strong);box-shadow:0 18px 40px rgba(34,45,94,.1);transform:translateY(-3px)}.service-card:has(.service-card__cta:focus-visible){outline:3px solid var(--terracotta);outline-offset:3px}.service-card__media{position:relative;display:block;overflow:hidden}.service-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.service-card:hover .service-card__media img{transform:scale(1.04)}.service-card__placeholder{display:grid;height:100%;place-items:center;background:var(--sand);color:var(--olive)}.service-card__count{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(15,23,56,.74);color:white;font:600 11px/1 var(--sans);backdrop-filter:blur(4px)}.service-card__body{display:flex;flex:1;flex-direction:column}.service-card__body p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3}.service-card__cta{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding:14px 0 0;border:0;background:none;color:var(--terracotta);cursor:pointer;font:600 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}.service-card__cta:after{content:"";position:absolute;inset:0}.service-card__cta:focus-visible{outline:none}.service-card__cta svg{transition:transform .22s ease}.service-card:hover .service-card__cta svg{transform:translate(3px,-3px)}.service-card__label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.service-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;background:rgba(15,23,56,.72);backdrop-filter:blur(8px)}.service-modal__dialog{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);overflow:hidden;width:min(1080px,100%);max-height:min(780px,calc(100dvh - 48px));border-radius:var(--r-lg);background:var(--white);box-shadow:0 30px 80px rgba(15,23,56,.35)}.service-modal__close{position:absolute;z-index:2;top:14px;right:14px;display:grid;width:44px;height:44px;cursor:pointer;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(15,23,56,.78);color:white}.service-modal__gallery{display:flex;min-width:0;flex-direction:column;background:var(--navy-900)}.service-modal__hero{position:relative;min-height:320px;flex:1}.service-modal__hero-image{object-fit:cover}.service-modal__placeholder{display:grid;height:100%;min-height:320px;place-items:center;color:white}.service-modal__arrow{position:absolute;top:50%;display:grid;width:44px;height:44px;cursor:pointer;transform:translateY(-50%);place-items:center;border:0;border-radius:50%;background:rgba(15,23,56,.72);color:white}.service-modal__arrow--left{left:16px}.service-modal__arrow--right{right:16px}.service-modal__counter{position:absolute;right:16px;bottom:16px;padding:6px 11px;border-radius:999px;background:rgba(15,23,56,.72);color:white;font:600 11px/1 var(--sans);letter-spacing:.06em}.service-modal__thumbs{display:flex;flex:0 0 auto;gap:8px;overflow-x:auto;padding:12px}.service-modal__thumbs button{flex:0 0 76px;overflow:hidden;height:58px;cursor:pointer;border:2px solid transparent;border-radius:var(--r-md);padding:0;opacity:.6;transition:opacity .2s ease}.service-modal__thumbs button:hover{opacity:.9}.service-modal__thumbs button.is-active{border-color:var(--terracotta);opacity:1}.service-modal__thumbs img{width:100%;height:100%;object-fit:cover}.service-modal__copy{overflow-y:auto;padding:clamp(32px,4vw,56px) clamp(26px,3vw,44px)}.service-modal__copy h2{margin-top:14px;font:600 clamp(30px,3.4vw,42px)/1.06 var(--sans);color:var(--charcoal)}.service-modal__copy p{margin:18px 0 28px;white-space:pre-line;color:var(--muted);line-height:1.75}@media (max-width:780px){.service-modal{padding:12px}.service-modal__dialog{display:block;overflow-y:auto;max-height:calc(100dvh - 24px)}.service-modal__hero,.service-modal__hero>span{min-height:260px;height:40dvh}.service-modal__copy{padding:30px 22px 36px}}@media (prefers-reduced-motion:reduce){.service-card,.service-card__cta svg,.service-card__media img{transition:none}.service-card:hover,.service-card:hover .service-card__media img{transform:none}}.service-empty{padding:40px 24px;border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--white);color:var(--muted);text-align:center}