.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:clamp(32px,4vw,56px)}.svc-card{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;gap:14px;padding:clamp(22px,2.2vw,30px);border-radius:20px;background:var(--surface);border:1px solid var(--border-strong);transition:border-color .25s var(--ease-out),transform .25s var(--ease-out)}.svc-card:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%),color-mix(in srgb,var(--accent) 13%,transparent),transparent 60%);opacity:0;transition:opacity .3s var(--ease-out);pointer-events:none}.svc-card:hover{border-color:var(--accent-border);transform:translateY(-2px)}.svc-card:hover:before{opacity:1}html:not([data-theme=dark]) .svc-card{box-shadow:0 1px 2px #0000000a,0 12px 32px -18px #00000024}.svc-head{display:flex;align-items:flex-start;justify-content:space-between}.svc-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--accent-dim);border:1px solid var(--accent-border);color:var(--accent);font-size:1.25rem}.svc-index{font-size:.8125rem;letter-spacing:.08em;font-variant-numeric:tabular-nums;color:var(--text-muted)}html[data-theme=dark] .svc-card .svc-title,html:not([data-theme=dark]) .svc-card .svc-title{margin:4px 0 0;font-family:var(--font-display)!important;font-size:clamp(1.25rem,1.1rem + .35vw,1.4375rem)!important;line-height:1.2!important;letter-spacing:.01em;color:var(--text)!important;text-align:left}html[data-theme=dark] .svc-card .svc-desc,html:not([data-theme=dark]) .svc-card .svc-desc{margin:0;max-width:52ch;font-size:1rem!important;line-height:1.6!important;color:var(--text-secondary)!important;text-align:left}.svc-meta{display:grid;gap:12px;margin:2px 0 0;padding-top:16px;border-top:1px solid var(--border-strong)}.svc-meta div{display:grid;gap:2px}.svc-meta dt{font-size:.8125rem;color:var(--text-muted)}.svc-meta dd{margin:0;font-size:.875rem;line-height:1.5;color:var(--text)}html[data-theme=dark] .svc-card .svc-link,html:not([data-theme=dark]) .svc-card .svc-link{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0;background:none!important;border:0!important;box-shadow:none!important;color:var(--accent)!important;font-size:.9375rem!important;text-decoration:none}.svc-link i{transition:transform .2s var(--ease-out)}.svc-link:hover i,.svc-link:focus-visible i{transform:translate(4px)}.svc-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}@media(max-width:991px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.svc-grid{grid-template-columns:minmax(0,1fr);gap:12px}}.work{margin-top:clamp(32px,4vw,56px)}.work-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 24px)/2);gap:24px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px 0 4px;cursor:grab}.work-track::-webkit-scrollbar{display:none}.work-track.is-dragging{scroll-snap-type:none;scroll-behavior:auto;cursor:grabbing;user-select:none}.work-track:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:20px}.work-item{scroll-snap-align:start;display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:var(--surface);border:1px solid var(--border-strong);transition:border-color .25s var(--ease-out)}.work-item:hover{border-color:var(--accent-border)}html:not([data-theme=dark]) .work-item{box-shadow:0 1px 2px #0000000a,0 12px 32px -18px #00000024}.work-media{margin:0;aspect-ratio:16 / 10;overflow:hidden;background:var(--surface-2)}.work-media img{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;user-select:none;transition:transform .6s var(--ease-out)}.work-item:hover .work-media img{transform:scale(1.04)}.work-body{display:grid;gap:8px;padding:22px 24px 26px}.work-tag{justify-self:start;padding:4px 10px;border-radius:999px;font-size:.8125rem;line-height:1.4;color:var(--accent);background:var(--accent-dim);border:1px solid var(--accent-border)}html[data-theme=dark] .work-body h3,html:not([data-theme=dark]) .work-body h3{margin:4px 0 0;font-family:var(--font-display)!important;font-size:clamp(1.25rem,1.1rem + .35vw,1.4375rem)!important;line-height:1.2!important;color:var(--text)!important;text-align:left}html[data-theme=dark] .work-body p,html:not([data-theme=dark]) .work-body p{margin:0;font-size:1rem!important;line-height:1.6!important;color:var(--text-secondary)!important;text-align:left}.work-controls{display:flex;align-items:center;gap:12px;margin-top:24px}.work-progress{flex:1;height:2px;border-radius:2px;overflow:hidden;background:var(--border-strong)}.work-progress span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .2s ease-out}.work-count{min-width:7ch;text-align:right;font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--text-muted)}.work-count b{font-weight:400;color:var(--text)}html[data-theme=dark] .work-btn,html:not([data-theme=dark]) .work-btn{display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border-radius:12px;border:1px solid var(--border-strong)!important;background:transparent!important;box-shadow:none!important;color:var(--text)!important;cursor:pointer;transition:border-color .2s var(--ease-out),background-color .2s var(--ease-out),color .2s}html[data-theme=dark] .work-btn:hover:not(:disabled),html:not([data-theme=dark]) .work-btn:hover:not(:disabled){border-color:var(--accent-border)!important;background:var(--accent-dim)!important;color:var(--accent)!important}.work-btn:disabled{opacity:.4;cursor:default}.work-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:768px){.work-track{grid-auto-columns:86%;gap:16px}.work-body{padding:18px 20px 22px}}.reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:clamp(32px,4vw,56px)}.review{margin:0;padding:clamp(22px,2.2vw,30px);display:flex;flex-direction:column;gap:16px;border-radius:20px;background:var(--surface);border:1px solid var(--border-strong);transition:border-color .25s var(--ease-out)}.review:hover{border-color:var(--accent-border)}html:not([data-theme=dark]) .review{box-shadow:0 1px 2px #0000000a,0 12px 32px -18px #00000024}.review-stars{display:flex;gap:4px;color:#fbbf24;font-size:.875rem}.review-quote{margin:0}html[data-theme=dark] .review-quote p,html:not([data-theme=dark]) .review-quote p{margin:0;font-size:1rem!important;line-height:1.65!important;color:var(--text-secondary)!important;text-align:left}.review-author{margin-top:auto;display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--border-strong)}.review-avatar{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent-dim);border:1px solid var(--accent-border);color:var(--accent);font-size:.8125rem;letter-spacing:.04em}.review-name{display:grid;gap:2px}.review-name strong{font-weight:400;color:var(--text);font-size:.9375rem}.review-name span{color:var(--text-muted);font-size:.8125rem}@media(max-width:991px){.reviews{grid-template-columns:minmax(0,1fr);max-width:640px;margin-inline:auto}}html:not([data-theme=dark]) .svc-card .svc-link,html:not([data-theme=dark]) .work-tag,html:not([data-theme=dark]) .review-avatar{color:var(--accent-hover)!important}@media(prefers-reduced-motion:reduce){.svc-card,.svc-card:before,.work-media img,.svc-link i{transition:none!important}.svc-card:hover{transform:none}.work-track{scroll-behavior:auto}}
