.tgv-services{--tgv-card-columns:4;--tgv-card-height:100vh;--tgv-card-gap:3px;--tgv-card-fade:300ms;--tgv-card-text:#32272b;--tgv-card-muted:#50473e;--tgv-card-overlay:rgba(249,246,241,.65);--tgv-card-hover-overlay:rgba(249,246,241,0);--tgv-card-surface:#f9f6f1;width:100%;min-width:0;background:var(--tgv-card-surface)}
.tgv-services *{box-sizing:border-box}
.tgv-services__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--tgv-card-columns) - 1)*var(--tgv-card-gap))/var(--tgv-card-columns));gap:var(--tgv-card-gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-x:contain;min-width:0}
.tgv-service-card{position:relative;isolation:isolate;min-width:0;min-height:var(--tgv-card-height);display:flex;background:#cdbdb0;scroll-snap-align:start}
.tgv-service-card__picture,.tgv-service-card__shade{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.tgv-services .tgv-service-card__image{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--tgv-card-focal-x,50%) var(--tgv-card-focal-y,50%)}
.tgv-service-card__shade{z-index:-1;background:var(--tgv-card-overlay);transition:background-color var(--tgv-card-fade) ease-in-out}
.tgv-service-card:focus-within .tgv-service-card__shade{background:var(--tgv-card-hover-overlay)}
.tgv-service-card__content{display:flex;flex-direction:column;align-items:flex-start;padding:40px;width:100%;overflow-wrap:anywhere}
.tgv-services .tgv-service-card__label{color:var(--tgv-card-muted);margin:0 0 20px;font-size:13px;line-height:1.5;letter-spacing:.06em}
.tgv-services .tgv-service-card__title{color:var(--tgv-card-text);margin:0;font-size:28px;line-height:1.25;font-weight:500;white-space:pre-line}
.tgv-services .tgv-service-card__description{color:var(--tgv-card-muted);margin:24px 0 0;font-size:16px;line-height:1.65;white-space:pre-line}
.tgv-services .tgv-service-card a.tgv-service-card__link{display:inline-flex;align-items:center;gap:10px;max-width:100%;position:relative;margin-top:auto;padding-top:32px;color:var(--tgv-card-text);background:transparent;text-decoration:none;font-size:13px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.tgv-service-card__link span{opacity:0;transform:translateX(-10px);transition:opacity var(--tgv-card-fade),transform var(--tgv-card-fade);font-size:22px;line-height:1}
.tgv-service-card:focus-within .tgv-service-card__link span{opacity:1;transform:translateX(0)}
@media(hover:hover){.tgv-service-card:hover .tgv-service-card__shade{background:var(--tgv-card-hover-overlay)}.tgv-service-card:hover .tgv-service-card__link span{opacity:1;transform:translateX(0)}}
@media(hover:none){.tgv-service-card__link span{opacity:1;transform:none}}
.tgv-services__controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 20px;color:var(--tgv-card-text)}
.tgv-services__controls[hidden]{display:none!important}
.tgv-services .tgv-services__controls button{margin:0;min-width:44px;min-height:44px;padding:8px 12px;font:inherit;color:var(--tgv-card-text);border:1px solid currentColor;background:transparent;cursor:pointer;border-radius:0;box-shadow:none}
.tgv-services button:disabled{opacity:.4;cursor:default}
.tgv-services :focus-visible{outline:2px solid currentColor;outline-offset:-3px}
.tgv-services__status{font-size:12px}
@media(max-width:1024px){.tgv-services{--tgv-card-columns:2}}
@media(max-width:767px){.tgv-services{--tgv-card-columns:1;--tgv-card-height:80vh}.tgv-service-card__content{padding:28px 28px 36px}}
@media(prefers-reduced-motion:reduce){.tgv-services *{transition:none!important;scroll-behavior:auto!important}}
