/* Loaded only on: Services page. Split out of the original theme.css; the base styles stay in ../theme.css. */
/* Services page — scoped styles (svc- prefix) reusing shared tokens/atoms from app/globals.css. */

.svc{padding-top:92px}

.svc-crumb{padding:26px clamp(24px,6vw,110px) 0;max-width:1600px;margin:0 auto}

/* Hero */
.svc-hero{padding:44px clamp(24px,6vw,110px) 90px;display:grid;grid-template-columns:1fr .92fr;gap:6vw;align-items:center;max-width:1600px;margin:0 auto}
.svc-hero h1{font-size:clamp(40px,4.6vw,64px);line-height:1.05;letter-spacing:-.03em;font-weight:560;margin:18px 0 26px;max-width:520px}
.svc-hero h1 em{font-style:normal;color:var(--red)}
.svc-hero-lead{font-size:16px;line-height:1.65;color:var(--muted);max-width:460px;margin:0 0 36px}
.svc-hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.svc-link-arrow{font-size:14px;font-weight:650;color:var(--ink);display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid var(--ink);padding-bottom:6px;transition:.2s}
.svc-link-arrow span{transition:transform .25s}
.svc-link-arrow:hover span{transform:translate(3px,-2px)}
.svc-link-arrow.light{color:#fff;border-color:rgba(255,255,255,.55)}

.svc-orbit{width:min(42vw,460px);aspect-ratio:1;position:relative;margin:0 auto}
.svc-orbit-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.svc-orbit-lines line{stroke:rgba(223,45,49,.35);stroke-width:.4;stroke-dasharray:2 2}
.svc-orbit-lines circle{fill:var(--red)}
.svc-orbit-lines .svc-orbit-ring{fill:none;stroke:rgba(223,45,49,.16);stroke-width:.4;stroke-dasharray:none}
.svc-orbit-hub-glow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(223,45,49,.14),rgba(223,45,49,.05) 55%,transparent 72%);z-index:0}
.svc-orbit-hub-platform{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:128px;height:128px;border-radius:50%;background:linear-gradient(180deg,#fff,#fbe4e4);box-shadow:0 16px 30px rgba(223,45,49,.18),inset 0 2px 6px rgba(255,255,255,.8),inset 0 -8px 12px rgba(223,45,49,.1);z-index:1}
.svc-orbit-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ef4c4f,var(--red) 70%);display:grid;place-items:center;box-shadow:0 18px 40px rgba(223,45,49,.35),0 0 0 10px rgba(223,45,49,.08);z-index:2}
.svc-orbit-hub span{font-size:28px;font-weight:650;color:#fff}
.svc-orbit-node{position:absolute;transform:translate(-50%,-50%);width:116px;background:#fff;border-radius:12px;box-shadow:0 16px 40px rgba(23,32,46,.12);padding:12px 10px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;z-index:1}
.svc-orbit-node i{flex:none;width:40px;height:40px;border-radius:11px;background:rgba(223,45,49,.09);color:var(--red);display:grid;place-items:center;font-size:15px}
.svc-orbit-node i svg{width:19px;height:19px}
.svc-orbit-node b{font-size:11.5px;line-height:1.3;font-weight:650;color:var(--ink)}
.svc-orbit-top{left:50%;top:6%}
.svc-orbit-upper-right{left:87%;top:25%}
.svc-orbit-lower-right{left:87%;top:68%}
.svc-orbit-bottom{left:50%;top:88%}
.svc-orbit-lower-left{left:13%;top:68%}
.svc-orbit-upper-left{left:13%;top:25%}

/* Capabilities grid */
.svc-capabilities{padding:20px clamp(24px,6vw,110px) 110px;max-width:1600px;margin:0 auto}
.svc-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:6vw;margin-bottom:56px;flex-wrap:wrap}
.svc-section-head h2{font-size:clamp(28px,3vw,38px);letter-spacing:-.03em;line-height:1.15;font-weight:560;margin:16px 0 0;max-width:560px}
.svc-section-head>p{color:var(--muted);font-size:15px;line-height:1.7;max-width:380px;margin:0}
.svc-view-all{font-size:13px;font-weight:650;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:7px;display:inline-flex;align-items:center;gap:14px;white-space:nowrap}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.svc-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 26px 62px;transition:border-color .25s,transform .25s,box-shadow .25s}
.svc-card:hover{border-color:transparent;box-shadow:0 22px 50px rgba(23,32,46,.1);transform:translateY(-4px)}
.svc-card-icon{width:48px;height:48px;border-radius:50%;background:rgba(223,45,49,.09);color:var(--red);display:grid;place-items:center;font-size:22px;margin-bottom:22px}
.svc-card-icon svg{width:22px;height:22px}
.svc-card h3{font-size:18px;font-weight:640;letter-spacing:-.01em;margin:0 0 12px}
.svc-card>p{color:var(--muted);font-size:14px;line-height:1.65;margin:0}
.svc-card-link{position:absolute;right:22px;bottom:22px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--ink);transition:.25s}
.svc-card-link svg{width:15px;height:15px}
.svc-card:hover .svc-card-link{background:var(--red);border-color:var(--red);color:#fff;transform:translate(2px,-2px)}

/* Approach */
.svc-approach{padding:0 clamp(18px,4vw,80px) 110px;max-width:1600px;margin:0 auto}
.svc-approach>div{background:var(--ink);color:#fff;border-radius:20px;padding:clamp(36px,4vw,56px);position:relative;overflow:hidden;isolation:isolate}
.svc-approach>div:before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:30px 30px;mask-image:radial-gradient(circle at 85% 12%,black,transparent 55%)}
.svc-approach-inner{display:grid;grid-template-columns:.82fr 2.18fr;gap:5vw;align-items:center;position:relative;z-index:1}
.svc-approach-head h2{font-size:clamp(22px,2vw,28px);letter-spacing:-.025em;line-height:1.2;font-weight:560;margin:16px 0 14px}
.svc-approach-head>p{color:#9ca5b0;font-size:13.5px;line-height:1.65;margin:0 0 24px}
.svc-approach-head .button{min-width:0;padding:14px 20px;font-size:13px}
.svc-timeline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.svc-timeline:before{content:"";position:absolute;left:9%;right:9%;top:29px;border-top:1px dashed rgba(255,255,255,.28);z-index:0}
.svc-step{position:relative;z-index:1;text-align:center;padding:0 4px}
.svc-step-icon{width:52px;height:52px;border-radius:50%;border:1.5px solid rgba(255,255,255,.35);background:var(--ink);display:grid;place-items:center;color:var(--red);font-size:20px;margin:0 auto 14px}
.svc-step-icon svg{width:20px;height:20px}
.svc-step b{display:block;font-size:10.5px;letter-spacing:.1em;color:#8a93a0;margin-bottom:6px}
.svc-step strong{display:block;font-size:15px;font-weight:600;margin-bottom:8px}
.svc-step p{color:#9ca5b0;font-size:11.5px;line-height:1.55;margin:0}

/* Case studies */
.svc-cases{padding:110px clamp(24px,6vw,110px);max-width:1600px;margin:0 auto}
.svc-case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc-case{position:relative;border-radius:16px;padding:26px;min-height:290px;display:flex;flex-direction:column;color:#fff;overflow:hidden;isolation:isolate}
.svc-case:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:26px 26px;mask-image:radial-gradient(circle at 75% 20%,black,transparent 75%)}
.svc-case-transport{background:linear-gradient(135deg,#1b2733,#5b7691)}
.svc-case-fintech{background:linear-gradient(135deg,#17322c,#3f7d6e)}
.svc-case-health{background:linear-gradient(135deg,#3a1c20,#9c4f56)}
.svc-case-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:auto}
.svc-case-tag{font-size:9px;text-transform:uppercase;letter-spacing:.13em;font-weight:650;color:var(--red)}
.svc-case-arrow{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;flex:none;transition:.2s}
.svc-case-arrow svg{width:14px;height:14px}
.svc-case-arrow:hover{background:var(--red);color:#fff}
.svc-case h3{font-size:20px;font-weight:600;letter-spacing:-.015em;line-height:1.25;margin:14px 0 10px}
.svc-case>p{font-size:13px;line-height:1.6;color:rgba(255,255,255,.78);margin:0 0 22px}
.svc-case-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:auto -26px -26px;padding:18px 26px 20px;background:#fff}
.svc-case-stats b{display:block;font-size:17px;font-weight:650;color:var(--ink)}
.svc-case-stats span{display:block;font-size:9.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:3px}
.svc-dots{display:flex;justify-content:center;gap:7px;margin-top:44px}
.svc-dots span{width:7px;height:7px;border-radius:50%;background:#d8d8d3}
.svc-dots span.active{background:var(--red);transform:scale(1.3)}

/* Stats bar */
.svc-stats{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:44px clamp(24px,6vw,110px);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;max-width:1600px;margin:0 auto}
.svc-stat{display:flex;align-items:center;gap:14px}
.svc-stat svg{width:26px;height:26px;color:var(--red);flex:none}
.svc-stat b{display:block;font-size:24px;font-weight:650;letter-spacing:-.02em}
.svc-stat span{display:block;font-size:11.5px;color:var(--muted)}

/* CTA */
.svc-cta{background:linear-gradient(125deg,#f5f2ed 0%,#f3ebe6 58%,#ecdfd9 100%);padding:100px clamp(24px,6vw,110px);display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;max-width:1600px;margin:0 auto}
.svc-cta-copy h2{font-size:clamp(32px,3.6vw,46px);letter-spacing:-.03em;line-height:1.1;font-weight:560;margin:16px 0 32px;max-width:440px}
.svc-cta-photo{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 30px 70px rgba(23,32,46,.16)}
.svc-cta-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.03)}

/* Tablet */
@media(max-width:1100px){
  .svc-hero{grid-template-columns:1fr;gap:60px;padding-top:30px}
  .svc-orbit{width:min(62vw,440px);margin:0 auto}
  .svc-grid{grid-template-columns:repeat(2,1fr)}
  .svc-approach-inner{grid-template-columns:1fr;gap:44px}
  .svc-approach-head{max-width:520px}
  .svc-timeline{grid-template-columns:repeat(5,1fr)}
  .svc-case-grid{grid-template-columns:1fr;max-width:520px;margin:0 auto}
  .svc-cta{grid-template-columns:1fr;gap:50px}
  .svc-cta-photo{order:-1}
}

/* Mobile */
@media(max-width:760px){
  .svc{padding-top:72px}
  .svc-crumb{padding-top:18px}
  .svc-hero{padding:30px 22px 70px}
  .svc-hero-actions{flex-direction:column;align-items:flex-start;gap:20px}
  .svc-orbit{width:88vw;max-width:340px;transform:scale(.94)}
  .svc-orbit-node{width:118px;padding:9px 10px;gap:8px}
  .svc-orbit-node i{width:26px;height:26px;font-size:12px}
  .svc-orbit-node i svg{width:13px;height:13px}
  .svc-orbit-node b{font-size:10px}
  .svc-orbit-hub{width:60px;height:60px}
  .svc-orbit-hub span{font-size:22px}
  .svc-capabilities{padding:70px 22px 80px}
  .svc-section-head{display:block;margin-bottom:40px}
  .svc-section-head h2{margin-top:14px}
  .svc-section-head>p{margin-top:16px;max-width:none}
  .svc-view-all{margin-top:18px}
  .svc-grid{grid-template-columns:1fr}
  .svc-approach{padding:0 16px 70px}
  .svc-approach-inner{gap:36px}
  .svc-timeline{grid-template-columns:1fr;gap:32px}
  .svc-timeline:before{display:none}
  .svc-cases{padding:70px 22px}
  .svc-case-grid{grid-template-columns:1fr}
  .svc-stats{padding:36px 22px;justify-content:flex-start;gap:28px 34px}
  .svc-cta{padding:70px 22px}
  .svc-cta-copy .button{width:100%;justify-content:center}
}

/* Very small screens: the orbit needs fewer, larger nodes to stay legible without overlap. */
@media(max-width:400px){
  .svc-orbit-upper-right,.svc-orbit-lower-left{display:none}
  .svc-orbit-node{width:132px}
}

/* Above-the-fold hero must paint without waiting for JS (reveal-on-scroll would keep it at opacity:0 until main.js runs). */
.hero .reveal{opacity:1;transform:none}
