/* Services page (combined). Everything is scoped under .svc so it cannot affect other pages. */
.svc{--shl:0 2px 4px rgba(17,17,17,.06),0 8px 16px rgba(17,17,17,.07),0 26px 52px rgba(17,17,17,.13);padding-bottom:clamp(40px,6vw,80px)}
.svc .key,.svc .key[open]{transform:none}
.svc h2,.svc h3,.svc h4,.svc h5,.svc p,.svc ul,.svc ol{margin:0}
.svc ul,.svc ol{padding:0;list-style:none}
.svc a{color:inherit;text-decoration:none}
.svc .eyebrow{font-size:.72rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:12px}
.svc .eyebrow:before{content:"";width:26px;height:1px;background:currentColor}
.svc .intro{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin:clamp(30px,5vw,60px) 0 28px}
.svc h2{font:600 clamp(2.2rem,5vw,4.4rem)/.98 Manrope,sans-serif;letter-spacing:-.06em;margin-top:16px}
.svc .hint{color:var(--muted);margin-top:14px;max-width:460px}
.svc .tools{display:flex;gap:12px}
.svc .tools button{font:700 .85rem "DM Sans",sans-serif;padding:12px 18px;border-radius:9px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;transition:background .2s,color .2s}
.svc .tools button:hover,.svc .tools button:focus-visible{background:var(--ink);color:var(--paper)}
.svc .keys{display:grid;gap:16px;padding-bottom:clamp(60px,8vw,110px)}
.svc .key{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh);overflow:hidden;transition:box-shadow .3s,transform .3s}
.svc .key[open]{box-shadow:var(--shl)}
.svc .key>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto auto;gap:clamp(14px,2.6vw,32px);align-items:center;padding:clamp(18px,2.6vw,30px) clamp(18px,3vw,38px);transition:background .2s}
.svc .key>summary::-webkit-details-marker{display:none}
.svc .key>summary:hover{background:#faf9f4}
.svc .kn{font:800 clamp(2.2rem,5.4vw,4.6rem)/1 Manrope,sans-serif;letter-spacing:-.06em;color:#dcd9cf}
.svc .kt em{display:block;font-style:normal;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-bottom:6px}
.svc .kt strong{font:600 clamp(1.25rem,2.8vw,2.2rem)/1.08 Manrope,sans-serif;letter-spacing:-.045em}
.svc .ki{width:46px;height:46px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;background:var(--paper)}
.svc .ki svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.svc .tg{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);position:relative;transition:background .25s,border-color .25s}
.svc .tg:before,.svc .tg:after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .3s,background .25s}
.svc .tg:after{transform:translate(-50%,-50%) rotate(90deg)}
.svc .key[open] .tg{background:var(--ink);border-color:var(--ink)}
.svc .key[open] .tg:before,.svc .key[open] .tg:after{background:var(--paper)}
.svc .key[open] .tg:after{transform:translate(-50%,-50%) rotate(0)}
.svc .kb{padding:0 clamp(18px,3vw,38px) clamp(22px,3vw,38px);border-top:1px solid var(--line);animation:drop .4s ease}
@keyframes drop{from{opacity:0;transform:translateY(-8px)}}
.svc .summ{font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:760px;margin:26px 0 16px;color:var(--muted)}
.svc .tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.svc .tags li{font-size:.78rem;font-weight:700;border:1px solid var(--line);background:var(--paper);padding:7px 13px;border-radius:99px}
.svc .sub{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:32px 0 14px}
.svc .strip{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.svc .strip li{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:16px 8px;background:var(--paper);border:1px solid var(--line);border-radius:14px;font-weight:700;font-size:.82rem}
.svc .strip svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.svc .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc .cap{position:relative;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;box-shadow:var(--sh);transition:transform .3s,box-shadow .3s}
.svc .cap:hover{transform:translateY(-3px);box-shadow:var(--shl)}
.svc .cap.dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.svc .cap h5{font:600 1.18rem/1.15 Manrope,sans-serif;letter-spacing:-.03em;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line);position:relative}
.svc .cap.dark h5{border-color:rgba(247,245,239,.22)}
.svc .cap ul{display:grid;gap:9px;font-size:.92rem;position:relative}
.svc .cap li{padding-left:18px;position:relative}
.svc .cap li:before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.45}
.svc .wm{position:absolute;right:-14px;bottom:-14px;width:150px;height:150px;opacity:.07;pointer-events:none}
.svc .wm svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.svc .measure{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:clamp(18px,3vw,40px);margin-top:34px;padding:clamp(22px,3vw,34px);background:var(--tint);border-radius:16px}
.svc .measure h4{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--muted);margin-bottom:12px}
.svc .measure ul{display:grid;gap:8px}
.svc .measure li{padding-left:24px;position:relative;font-size:.95rem}
.svc .measure li:before{content:"✓";position:absolute;left:0;font-weight:700}
.svc .measure p{font-size:.95rem}
.svc .method{background:var(--ink);color:var(--paper);padding:clamp(60px,8vw,110px) 0}
.svc .method h2{margin-bottom:clamp(30px,5vw,56px)}
.svc .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:20px}
.svc .steps li{border-top:1px solid rgba(247,245,239,.35);padding-top:18px}
.svc .steps b{display:block;font-size:.78rem;letter-spacing:.12em;color:#bdb9ad;margin-bottom:8px}
.svc .steps strong{font:600 1.3rem Manrope,sans-serif;letter-spacing:-.03em;display:block;margin-bottom:8px}
.svc .steps p{font-size:.92rem;color:#d8d5cb}
@media(max-width:1024px){.svc .cards{grid-template-columns:repeat(2,1fr)}.svc .strip{grid-template-columns:repeat(3,1fr)}.svc .steps{grid-template-columns:repeat(3,1fr)}.svc .measure{grid-template-columns:1fr 1fr}.svc .measure>div:last-child{grid-column:1/-1}}
@media(max-width:720px){.svc .cards{grid-template-columns:1fr}.svc .strip{grid-template-columns:repeat(2,1fr)}.svc .steps{grid-template-columns:1fr 1fr}.svc .measure{grid-template-columns:1fr}.svc .key>summary{grid-template-columns:auto 1fr auto;gap:14px}.svc .ki{display:none}.svc .tg{width:36px;height:36px}.svc .tools{width:100%}.svc .tools button{flex:1}}
@media(prefers-reduced-motion:reduce){.svc *{animation:none!important;transition:none!important}}

/* Contrast correction: capability cards stay light with dark readable text. */
.svc .cap,.svc .cap.dark{background:#fff!important;color:#111!important;border-color:var(--line)!important}
.svc .cap h5,.svc .cap ul,.svc .cap li{color:#111!important}
.svc .cap h5{border-bottom-color:var(--line)!important}
.svc .cap .wm{color:#111!important;opacity:.055}
