/* =====================================================================
   ULYSTA — Services page · distinct system
   Sticky side-index + scroll-spy · outlined-number process · FAQ accordion
   ===================================================================== */

.crumb{display:flex;align-items:center;gap:9px;font-size:.85rem;color:var(--muted);margin-bottom:22px;flex-wrap:wrap}
.crumb a{color:var(--muted)}.crumb a:hover{color:var(--orange)}
.crumb svg{width:13px;height:13px;opacity:.55}.crumb .cur{color:var(--ink);font-weight:600}

/* ===================== HERO + quick nav ===================== */
.sv-hero{position:relative;padding:124px 0 56px;background:var(--mesh);overflow:hidden}
.sv-hero .blob-a{width:440px;height:440px;background:var(--grad-blob);opacity:.45;top:-120px;right:4%}
.sv-hero h1{font-size:clamp(2.3rem,5vw,3.7rem);letter-spacing:-.04em;line-height:1.04;max-width:18ch}
.sv-hero h1 .gt{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.sv-hero .lead{font-size:1.18rem;color:var(--ink-2);max-width:58ch;margin:18px 0 26px}
.sv-hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.sv-quicknav{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:50px}
.qn{position:relative;display:block;border:1px solid var(--line);border-radius:16px;padding:18px 16px 16px;background:#fff;
  box-shadow:var(--sh-s);transition:.32s var(--ease);overflow:hidden}
.qn:hover{transform:translateY(-5px);box-shadow:var(--sh-l);border-color:transparent}
.qn .n{font-size:.8rem;font-weight:700;color:var(--orange);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.qn b{display:block;font-size:1rem;color:var(--ink);margin-top:18px;line-height:1.25;letter-spacing:-.01em}
.qn .ar{margin-top:10px;color:var(--blue);display:inline-flex}.qn .ar svg{width:16px;height:16px;transition:.3s var(--ease)}
.qn:hover .ar svg{transform:translateX(4px)}
@media(max-width:1000px){.sv-quicknav{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.sv-quicknav{grid-template-columns:1fr 1fr}.sv-hero h1{font-size:clamp(1.9rem,8vw,2.5rem)}}

/* ===================== SERVICE SPLIT CARDS (full-width) ===================== */
.scards{display:grid;gap:22px}
.scard{display:grid;grid-template-columns:1.04fr .96fr;background:#fff;border:1px solid var(--line);
  border-radius:26px;overflow:hidden;box-shadow:var(--sh-s);transition:.4s var(--ease);scroll-margin-top:96px}
.scard:hover{transform:translateY(-5px);box-shadow:var(--sh-l);border-color:transparent}
.scard .body{padding:clamp(28px,3.2vw,48px);display:flex;flex-direction:column;justify-content:center}
.scard .top{display:flex;align-items:center;gap:13px;margin-bottom:16px}
.scard .num{width:42px;height:42px;border-radius:12px;background:var(--grad-orange);color:#fff;display:grid;place-items:center;
  font-weight:800;font-size:1rem;box-shadow:var(--sh-orange);flex:0 0 auto;font-variant-numeric:tabular-nums}
.scard .tag{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.scard h2{font-size:clamp(1.45rem,2.5vw,2rem);letter-spacing:-.03em;margin-bottom:12px;line-height:1.1}
.scard .body>p{color:var(--muted);font-size:1.02rem;margin-bottom:18px;max-width:50ch}
.scard .chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.scard .chips span{font-size:.8rem;color:var(--ink-2);background:var(--soft);border:1px solid var(--line);padding:7px 12px;border-radius:8px}
.scard .body .btn{align-self:flex-start}
.scard .media{position:relative;min-height:340px;overflow:hidden;background:var(--soft-2)}
.scard .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.7s var(--ease)}
.scard:hover .media img{transform:scale(1.05)}
.scard .media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,42,68,.18),transparent 45%);pointer-events:none}
.scard .media .bignum{position:absolute;right:20px;bottom:6px;font-size:6rem;font-weight:800;line-height:1;
  color:rgba(255,255,255,.18);letter-spacing:-.04em;z-index:1;pointer-events:none}
.scard:nth-child(even) .media{order:-1}
.scard:nth-child(even) .media::after{background:linear-gradient(270deg,rgba(15,42,68,.18),transparent 45%)}
@media(max-width:840px){
  .scard{grid-template-columns:1fr}
  .scard .media,.scard:nth-child(even) .media{min-height:220px;order:-1}
}

/* ===================== PROCESS (outlined numbers) ===================== */
.proc4{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;position:relative}
.pc{position:relative}
.pc .pn{font-size:3.4rem;font-weight:800;line-height:1;letter-spacing:-.04em;color:transparent;
  -webkit-text-stroke:1.6px var(--line-2);margin-bottom:14px;font-variant-numeric:tabular-nums;transition:.3s var(--ease)}
.pc:hover .pn{-webkit-text-stroke-color:var(--orange);color:rgba(255,91,36,.06)}
.pc h4{font-size:1.12rem;margin-bottom:8px}
.pc p{font-size:.92rem;color:var(--muted)}
@media(max-width:820px){.proc4{grid-template-columns:1fr 1fr;gap:30px 24px}}
@media(max-width:460px){.proc4{grid-template-columns:1fr}}

/* ===================== WHY / BENEFITS ===================== */
.why{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px;align-items:center}
.why-l h2{font-size:clamp(1.8rem,3.2vw,2.5rem);margin:14px 0 14px;letter-spacing:-.03em}
.why-l p{color:var(--muted);font-size:1.06rem}
.why-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.why-list .w{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:var(--sh-s);transition:.3s var(--ease)}
.why-list .w:hover{transform:translateY(-4px);box-shadow:var(--sh)}
.why-list .w .wi{width:40px;height:40px;border-radius:11px;background:var(--blue-soft);display:grid;place-items:center;flex:0 0 auto}
.why-list .w .wi svg{width:19px;height:19px;stroke:var(--blue)}
.why-list .w b{display:block;font-size:.96rem;color:var(--ink)}
.why-list .w span{font-size:.84rem;color:var(--muted)}
@media(max-width:860px){.why{grid-template-columns:1fr;gap:30px}}
@media(max-width:480px){.why-list{grid-template-columns:1fr}}

/* ===================== FAQ accordion ===================== */
.faq{max-width:860px;margin-inline:auto}
.faq details{border-bottom:1px solid var(--line);transition:.3s}
.faq details[open]{background:linear-gradient(var(--soft),transparent);border-radius:14px 14px 0 0}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:22px 16px;font-family:var(--f);font-weight:600;font-size:1.08rem;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{position:relative;width:22px;height:22px;flex:0 0 auto}
.faq summary .ic::before,.faq summary .ic::after{content:"";position:absolute;background:var(--orange);border-radius:2px;transition:.3s var(--ease)}
.faq summary .ic::before{top:10px;left:2px;width:18px;height:2px}
.faq summary .ic::after{top:2px;left:10px;width:2px;height:18px}
.faq details[open] summary .ic::after{transform:rotate(90deg);opacity:0}
.faq details p{padding:0 16px 22px;color:var(--muted);font-size:.98rem;max-width:72ch}

/* ===================== CTA ===================== */
.sv-cta{padding:24px 0 92px}
.sv-cta .card{position:relative;overflow:hidden;border-radius:var(--r-xl);padding:54px 48px;text-align:center;background:linear-gradient(135deg,#0f2a44,#1c4a72);box-shadow:var(--sh-l)}
.sv-cta .card .bc{position:absolute;width:340px;height:340px;border-radius:50%;background:var(--grad-orange);opacity:.3;top:-120px;right:-70px;filter:blur(10px)}
.sv-cta .card .bc2{position:absolute;width:300px;height:300px;border-radius:50%;background:linear-gradient(135deg,#3a8fd6,#2779c5);opacity:.3;bottom:-130px;left:-70px;filter:blur(10px)}
.sv-cta .card .in{position:relative;z-index:1;max-width:700px;margin-inline:auto}
.sv-cta .card h2{color:#fff;font-size:clamp(1.8rem,3.6vw,2.7rem);letter-spacing:-.03em;margin-bottom:14px}
.sv-cta .card p{color:#bcd3e6;font-size:1.1rem;margin-bottom:28px}
.sv-cta .card .acts{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.sv-cta .card .btn-soft{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25);box-shadow:none}
.sv-cta .card .btn-soft:hover{background:#fff;color:var(--ink)}
