
/* ================= SERVICES INDEX ================= */
.sidx{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-l)}
.srow{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) clamp(150px,16vw,230px) 56px;gap:24px 48px;align-items:center;padding:clamp(24px,3vw,36px) 0;border-bottom:1px solid var(--line-l);text-decoration:none;color:inherit;isolation:isolate}
.srow::before{content:"";position:absolute;inset:0 calc(-1 * var(--gl));z-index:-1;background:var(--paper-2);opacity:0;transition:opacity .35s var(--ease)}
.srow:hover::before,.srow:focus-visible::before{opacity:1}
.srow h3{font-family:var(--f-display);font-weight:400;font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:1.1;letter-spacing:-.02em;margin:0;transition:transform .45s var(--ease)}
.srow:hover h3,.srow:focus-visible h3{transform:translateX(10px);background:var(--g-logo);-webkit-background-clip:text;background-clip:text;color:transparent}
.srow p{margin:0;color:var(--muted-l);max-width:46ch}
.srow .th{aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:#e9ebf2}
.srow .th img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.srow:hover .th img{transform:scale(1.08)}
.srow .th{transition:transform .6s var(--ease),box-shadow .6s}
.srow:hover .th{transform:scale(1.06) rotate(-1.5deg);box-shadow:0 26px 50px -26px rgba(19,46,161,.55)}
.srow .go{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(#fff,#fff) padding-box,var(--g-logo) border-box;border:1.5px solid transparent;transition:transform .45s var(--ease),background .3s}
.srow .go svg{width:22px;height:22px}
.srow:hover .go,.srow:focus-visible .go{transform:rotate(-45deg);background:var(--g-logo);color:#fff}
@media (max-width:1000px){.srow{grid-template-columns:minmax(0,1fr) clamp(130px,26vw,200px);gap:16px 24px}.srow p{grid-column:1/-1;grid-row:2}.srow .go{display:none}.srow .th{grid-row:1/3;grid-column:2}}
@media (max-width:600px){.srow{grid-template-columns:1fr}.srow .th{grid-row:auto;grid-column:auto;order:-1}.srow p{grid-row:auto}}
/* certifications */
.badges{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:16px}
.badge{display:grid;place-items:center;aspect-ratio:1;border-radius:24px;background:var(--ink-3);border:1px solid var(--line-d);position:relative;overflow:hidden;isolation:isolate;transition:border-color .3s}
.badge::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(8,158,243,.28),rgba(153,52,236,.14) 45%,transparent 70%);opacity:0;transition:opacity .35s}
.badge:hover::before{opacity:1}
.badge:hover{border-color:rgba(255,255,255,.35)}
.badge img{width:min(74%,150px);height:auto;border-radius:50%;transition:transform .6s var(--ease);filter:drop-shadow(0 18px 30px rgba(0,0,0,.45))}
.badge:hover img{transform:scale(1.06) rotate(-4deg)}
@media (max-width:1100px){.badges{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:520px){.badges{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
/* memberships: logo marquee */
.marq{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marq-t{display:flex;gap:20px;width:max-content;animation:marq 34s linear infinite}
.marq:hover .marq-t,.marq:focus-within .marq-t{animation-play-state:paused}
@keyframes marq{to{transform:translateX(calc(-50% - 10px))}}
.mlogo{flex:none;width:clamp(220px,22vw,300px);aspect-ratio:9/4;border-radius:20px;background:#fff;border:1px solid var(--line-l);display:grid;place-items:center;transition:transform .4s var(--ease),box-shadow .4s}
.mlogo img{width:80%;height:auto;filter:grayscale(1);opacity:.75;transition:filter .4s,opacity .4s}
.mlogo:hover{transform:translateY(-6px);box-shadow:0 24px 40px -24px rgba(19,46,161,.45)}
.mlogo:hover img{filter:none;opacity:1}
@media (prefers-reduced-motion:reduce){.marq-t{animation:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));width:auto;max-width:1272px;margin-inline:auto;padding-inline:var(--gl) var(--gr);box-sizing:content-box}.marq{-webkit-mask-image:none;mask-image:none}.mlogo{width:auto}.mlogo.dup{display:none}}
