/* Service pages + hub: extends theme.css + systems.css */
.services-page .site-nav a[aria-current]{color:var(--accent);border-bottom-color:var(--accent)}
.services-page .hero h1{font-size:clamp(38px,7.2vw,104px);line-height:.98;max-width:14em;text-wrap:balance}
.svc-intro{max-width:40em;margin:0 0 8px}
.svc-p{font-size:clamp(16px,1.5vw,19px);line-height:1.6;margin:0 0 1em;color:var(--ink)}
.svc-p:first-child{font-size:clamp(18px,1.9vw,23px);line-height:1.45}
.svc-cta{margin:20px 0 0}
.svc-work,.svc-more{padding-top:clamp(28px,4vw,56px)}
.svc-work h2,.svc-more h2{font-size:clamp(26px,3.4vw,44px);margin:0 0 .6em;letter-spacing:-.03em}
.pc-grid{list-style:none;margin:0;padding:0;columns:1;column-gap:16px}
@media(min-width:560px){.pc-grid{columns:2}}
@media(min-width:1000px){.pc-grid{columns:3}}
.pc{break-inside:avoid;margin:0 0 16px}
.pc a{display:block;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.pc a:hover{text-decoration:none;border-color:var(--accent)}
.pc img{display:block;width:100%;height:auto;background:var(--edge)}
.pc-cap{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px}
.pc-cap strong{font:600 14px/1.3 var(--f-body)}
.pc-cap span{font:400 12px/1.3 var(--f-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.svc-more ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px}
.svc-more a{font-weight:500}
.svc-cmp{max-width:760px}
.svc-grid{list-style:none;margin:0;padding:0;display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:620px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.svc-grid{grid-template-columns:repeat(3,1fr)}}
.svc-card a{display:flex;flex-direction:column;gap:6px;color:var(--ink);height:100%}
.svc-card a:hover{text-decoration:none}
.svc-card a:hover .svc-name{color:var(--accent)}
.svc-img{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:6px;background:var(--edge);border:1px solid var(--line)}
.svc-img img{width:100%;height:100%;object-fit:cover;display:block}
.svc-name{font:var(--display-weight) 22px/1.15 var(--f-display);letter-spacing:var(--display-track);margin-top:6px}
.svc-line{font-size:15px;color:var(--muted);line-height:1.45}
.svc-card .draft-badge{align-self:flex-start;margin:4px 0 0}
.svc-lb{border:0;padding:0;background:rgba(14,13,12,.96);color:var(--ink);width:100vw;height:100vh;max-width:none;max-height:none}
.svc-lb[open]{display:flex;align-items:center;justify-content:center}
.svc-lb::backdrop{background:rgba(0,0,0,.8)}
.svc-lb figure{margin:0;max-width:calc(100vw - 24px);display:flex;flex-direction:column;align-items:center;gap:10px}
.svc-lb img{max-width:calc(100vw - 24px);max-height:calc(100vh - 120px);width:auto;height:auto;object-fit:contain}
.svc-lb figcaption{font:400 13px/1.3 var(--f-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.05em;text-align:center}
.svc-lb button{position:absolute;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:26px;line-height:1;cursor:pointer}
.svc-lb button:hover{border-color:var(--accent);color:var(--accent)}
.lb-x{top:14px;right:14px}.lb-p{left:12px;top:50%}.lb-n{right:12px;top:50%}
@media(max-width:700px){.lb-p,.lb-n{top:auto;bottom:14px}.lb-p{left:calc(50% - 54px)}.lb-n{right:calc(50% - 54px)}}
