/* Serviços: conteúdo completo no fluxo; a cena fixa usa os mesmos nós e desenhos. */
.h-services{width:100%;max-width:none;padding:80px 0;background:var(--bg);color:var(--tx)}
.h-services-inner{position:relative;z-index:3}
.h-service-backdrop{display:none;position:absolute;inset:0;background:radial-gradient(ellipse at 24% 55%,color-mix(in srgb,var(--signal) 4%,var(--bg)),transparent 62%),var(--bg);opacity:0;pointer-events:none;z-index:0}
.h-services .h-services-intro{display:block;max-width:980px;margin:0 auto 40px;padding:28px 20px;text-align:center;background:var(--ink);color:var(--paper)}
.h-services-intro h2{font-size:clamp(32px,4.5vw,64px);line-height:1.12;letter-spacing:-.045em;max-width:none}
.h-services .h-services-intro>p{max-width:740px;margin:24px auto 0;font-size:18px;line-height:1.65;color:var(--paper)}
.h-services-intro [data-service-word]{display:inline-block}
.h-services-intro .h-service-sentence{display:block}
.h-service-word-accent{color:var(--signal)}
.h-services .h-service-explorer{display:block;border:0;border-radius:0;overflow:visible;background:none}
.h-services .h-service-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:0;margin-bottom:20px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-card)}
.h-services .h-service-tab{min-width:0;min-height:54px;padding:8px 10px;gap:8px;font-size:11px;line-height:1.35;border:0;border-radius:0;background:none}
.h-services .h-service-tab+.h-service-tab{border-left:1px solid var(--line)}
.h-services .h-tab-number{display:none}
.h-services .h-service-tab-robot{display:block;width:28px;height:28px;flex:0 0 auto}
.h-services .h-service-tab[aria-selected="true"]{font-weight:500;background:color-mix(in srgb,var(--signal) 7%,var(--bg-card))}
.h-services .h-service-tab[aria-selected="true"]::before{inset:auto 12px 0;width:auto;height:2px;border-radius:2px;background:var(--signal);box-shadow:0 0 12px color-mix(in srgb,var(--signal) 40%,transparent)}
.h-services .h-service-tab:hover{background:var(--bg-alt)}
.h-services .h-service-panels{display:grid;min-width:0}
.h-services .h-service-panel{position:relative;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.1fr);align-items:center;gap:clamp(32px,6vw,80px);min-height:0;padding:24px 0;border:0;border-bottom:1px solid var(--line);background:none}
.h-services .h-service-panel[hidden]{display:none}
.h-services .h-service-panel[inert]{pointer-events:none}
.h-services .h-service-panel:last-child{border-bottom:0}
.h-service-portrait-space{position:relative;display:grid;place-items:center;min-width:0;min-height:330px;aspect-ratio:1.08}
.h-service-portrait-space::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--signal) 6%,transparent),transparent 68%)}
.h-service-environment{position:absolute;inset:0;width:100%;height:100%;overflow:visible;color:var(--tx-3);pointer-events:none;z-index:0}
.h-service-environment-lines{opacity:.28}
.h-service-environment-accent{opacity:.45}
.h-service-portrait{--gaze-x:0px;--gaze-y:0px;--eye-open:1;--agent-energy:.75;--service-art-size:clamp(220px,27vw,360px);position:relative;display:grid;place-items:center;width:100%;height:100%;min-width:0;transform-origin:center;z-index:1}
.h-service-portrait>.h-robot,.h-service-portrait>.h-service-trace{width:min(var(--service-art-size),88%);height:auto;max-width:none}
.h-service-portrait>.h-robot{position:relative;z-index:1;filter:drop-shadow(0 14px 24px color-mix(in srgb,var(--ink) 16%,transparent))}
.h-service-portrait>.h-service-trace{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;overflow:visible;pointer-events:none;opacity:0;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--signal) 60%,transparent))}
.h-service-trace [data-service-outline]{fill:none;stroke:var(--signal);stroke-width:.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
.h-service-copy{position:relative;min-width:0;width:100%;max-width:600px}
.h-service-explore,.h-service-paging{display:none}
.h-service-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
[data-scroll-mode="pinned"] .h-service-explore{position:absolute;inset:auto 0 0;margin-inline:auto;width:max-content;max-width:100%;display:flex;align-items:center;gap:16px;min-height:44px;padding:8px 12px;font-size:13px;color:var(--paper);pointer-events:auto;z-index:7;opacity:0}
.h-service-explore span{color:var(--signal)}
[data-scroll-mode="pinned"] .h-service-paging{display:flex;gap:4px;flex-shrink:0}
.h-service-paging a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:22px;color:var(--tx)}
.h-service-paging a:hover{background:var(--bg-alt);border-color:var(--signal)}
.h-services .h-service-actions .h-button{gap:12px}
.h-services .h-panel-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 16px;min-height:16px}
.h-services .h-service-symbol{display:none}
.h-services .h-panel-index{font-size:10px;line-height:1.4;letter-spacing:.06em;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--tx-3)}
.h-services .h-panel-top .h-kicker{font-size:11px;line-height:1.4;letter-spacing:.11em;margin:0;padding:0;color:var(--tx-2)}
.h-services .h-service-panel h3{max-width:18ch;font-size:clamp(44px,3.5vw,50px);line-height:1.08;letter-spacing:-.045em;text-wrap:balance}
.h-services .h-panel-desc{max-width:52ch;font-size:16px;line-height:1.6;margin-top:16px;color:var(--tx-2);text-wrap:pretty}
.h-services .h-service-features{margin-block:22px;gap:12px}
.h-services .h-service-features li{font-size:14px;line-height:1.55;gap:12px;color:var(--tx-2)}
.h-services .h-service-features strong{font-weight:600;color:var(--tx)}
.h-services .h-service-features .h-icon{width:16px;height:16px;flex-shrink:0;margin-top:3px;color:var(--signal)}
.h-services .h-service-fit{max-width:50ch;font-size:14px;line-height:1.55;padding-top:14px;margin-bottom:20px;color:var(--tx-2);text-wrap:pretty}
.h-services .h-service-panel .h-button{min-height:44px;font-size:13px;font-weight:500;padding:12px 0;gap:32px;border:0;border-bottom:1px solid var(--line-2);border-radius:0;color:var(--tx);transition:background .2s}
.h-services .h-service-panel .h-button>.h-icon{color:var(--signal)}
.h-services .h-section-footnote{font-size:10px;line-height:1.6;margin-top:18px;color:var(--tx-3)}
.h-service-actors,.h-service-thread{display:none;position:absolute;inset:0;pointer-events:none}
.h-service-reading-surface,.h-service-fragments{display:none;position:absolute;inset:0;pointer-events:none}
.h-service-reading-surface{z-index:1;background:var(--ink);opacity:0}
.h-service-fragments{z-index:5;width:100%;height:100%;opacity:0}
/* Sem filtro: o halo é um par de traços largos e translúcidos do mesmo path, e a
   ponta é um elemento HTML movido por transform. Nada exige rasterizar um filtro
   do tamanho da tela a cada quadro. */
.h-service-thread{width:100%;height:100%;overflow:visible;color:var(--signal);z-index:2}
.h-service-thread path{fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;vector-effect:non-scaling-stroke}
.h-service-thread [data-service-thread-glow="near"]{stroke-width:7;stroke-opacity:.3}
.h-service-thread [data-service-thread-glow="wide"]{stroke-width:16;stroke-opacity:.09}
.h-service-thread [data-service-thread-core]{stroke:color-mix(in srgb,var(--pure) 60%,var(--signal));stroke-width:.9}
.h-service-thread [data-service-trail-segment]{opacity:0;stroke-width:2.4}
.h-service-thread-head{display:none;position:absolute;left:0;top:0;width:6.3px;height:6.3px;margin:-3.15px 0 0 -3.15px;box-sizing:border-box;border:.8px solid color-mix(in srgb,var(--pure) 55%,var(--signal));border-radius:50%;background:var(--signal);box-shadow:0 0 3px color-mix(in srgb,var(--signal) 85%,transparent),0 0 9px color-mix(in srgb,var(--signal) 40%,transparent);opacity:0;pointer-events:none;z-index:2;will-change:transform,opacity}

/* Intro, textos e personagens têm camadas próprias; o renderer controla a visibilidade. */
[data-scroll-mode="pinned"] .h-services{--service-dock-size:64px;--service-dock-gap:12px;--service-dock-space:84px;position:absolute;inset:0 0 auto;min-height:var(--scene-viewport);padding:calc(var(--home-header) + 20px) 0 calc(24px + env(safe-area-inset-bottom,0px));background:transparent;z-index:4;opacity:0;pointer-events:none}
[data-scroll-mode="pinned"] .h-service-backdrop{display:block}
[data-scroll-mode="pinned"] .h-services-inner{min-height:calc(var(--scene-viewport) - var(--home-header) - 44px - env(safe-area-inset-bottom,0px))}
[data-scroll-mode="pinned"] .h-services .h-services-intro{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:980px;margin:auto;padding:0;background:transparent;text-align:center;z-index:4;pointer-events:none}
[data-scroll-mode="pinned"] .h-service-reading-surface,[data-scroll-mode="pinned"] .h-service-fragments{display:block}
[data-scroll-mode="pinned"] .h-services-intro h2{font-size:clamp(38px,4.8vw,68px);line-height:1.12}
[data-scroll-mode="pinned"] .h-services-intro h2 [data-service-word]{margin-bottom:28px}
[data-scroll-mode="pinned"] .h-services-intro p [data-service-word]{margin-bottom:20px}
[data-scroll-mode="pinned"] .h-services .h-services-intro>p{font-size:clamp(16px,1.45vw,21px);line-height:1.7;max-width:740px;margin-top:28px}
[data-scroll-mode="pinned"] .h-services .h-service-explorer{padding-top:var(--service-dock-space)}
[data-scroll-mode="pinned"] .h-services .h-service-tabs{position:absolute;top:0;left:50%;transform:translateX(-50%);display:flex;gap:var(--service-dock-gap);width:max-content;max-width:100%;padding:0;margin:0;border:0;background:none;z-index:7}
[data-scroll-mode="pinned"] .h-services .h-service-tab{position:relative;flex:0 0 var(--service-dock-size);width:var(--service-dock-size);height:var(--service-dock-size);min-height:var(--service-dock-size);padding:0;border:0;border-radius:50%;background:none}
[data-scroll-mode="pinned"] .h-services .h-service-tab+.h-service-tab{border:0}
[data-scroll-mode="pinned"] .h-services .h-service-tab::before{display:none}
[data-scroll-mode="pinned"] .h-services .h-service-tab-robot,[data-scroll-mode="pinned"] .h-services .h-tab-number{display:none}
[data-scroll-mode="pinned"] .h-services .h-tab-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
[data-scroll-mode="pinned"] .h-services .h-service-tab:hover{background:color-mix(in srgb,var(--signal) 8%,transparent)}
[data-scroll-mode="pinned"] .h-services .h-service-panel{grid-area:1/1;min-height:calc(var(--scene-viewport) - var(--home-header) - 162px - env(safe-area-inset-bottom,0px));padding:0;border:0}
[data-scroll-mode="pinned"] .h-service-portrait-space{width:100%;height:clamp(260px,46svh,420px);min-height:0;aspect-ratio:auto}
[data-scroll-mode="pinned"] .h-service-environment{opacity:0}
[data-scroll-mode="pinned"] .h-service-actors{display:block;z-index:6}
[data-scroll-mode="pinned"] .h-service-actors>.h-service-portrait{position:absolute;min-height:0;margin:0;aspect-ratio:auto}
[data-scroll-mode="pinned"] .h-service-thread,[data-scroll-mode="pinned"] .h-service-thread-head{display:block}
[data-scroll-mode="pinned"] .h-services .h-section-footnote{display:none}

@media(max-width:1100px){
  .h-services .h-service-tab{padding-inline:8px;font-size:10px;gap:6px}
  .h-services .h-service-panel{grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:32px}
  .h-services .h-service-panel h3{font-size:40px}
  .h-service-portrait-space{min-height:280px}
}
@media(min-width:768px) and (max-height:800px){
  [data-scroll-mode="pinned"] .h-services .h-panel-top{margin-bottom:12px}
  [data-scroll-mode="pinned"] .h-services .h-service-panel h3{font-size:44px;line-height:1.06}
  [data-scroll-mode="pinned"] .h-service-portrait-space{height:min(340px,44svh)}
  [data-scroll-mode="pinned"] .h-service-portrait{--service-art-size:min(280px,38svh)}
  [data-scroll-mode="pinned"] .h-services .h-panel-desc{line-height:1.5;margin-top:12px}
  [data-scroll-mode="pinned"] .h-services .h-service-features{margin-block:16px;gap:8px}
  [data-scroll-mode="pinned"] .h-services .h-service-features li{line-height:1.45}
  [data-scroll-mode="pinned"] .h-services .h-service-fit{font-size:13px;line-height:1.5;padding-top:12px;margin-bottom:14px}
  [data-scroll-mode="pinned"] .h-services .h-section-footnote{margin-top:14px}
}
@media(max-width:767px){
  .h-services{padding-block:64px}
  .h-services .h-services-intro{margin-bottom:28px}
  .h-services-intro h2{font-size:34px}
  .h-services .h-services-intro>p{font-size:15px;line-height:1.65;margin-top:20px}
  .h-services .h-service-tabs{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px}
  .h-services .h-service-tab{min-height:52px;padding:8px 6px;font-size:10px;gap:6px}
  .h-services .h-service-tab-robot{width:24px;height:24px}
  .h-services .h-service-tab:nth-child(3n+1){border-left:0}
  .h-services .h-service-tab:nth-child(n+4){border-top:1px solid var(--line)}
  .h-services .h-service-panel{display:block;padding-block:26px}
  .h-service-portrait-space{width:190px;min-height:0;aspect-ratio:1;margin:0 auto 24px}
  .h-service-portrait{--service-art-size:160px}
  .h-service-copy{max-width:540px;margin-inline:auto}
  .h-services .h-panel-top{margin-bottom:12px;gap:12px}
  .h-services .h-panel-top .h-kicker{font-size:10px}
  .h-services .h-service-panel h3{font-size:32px;line-height:1.1;max-width:20ch}
  .h-services .h-panel-desc{font-size:14px;line-height:1.55;margin-top:12px}
  .h-services .h-service-features{margin-block:18px;gap:10px}
  .h-services .h-service-features li{font-size:13px;line-height:1.5;gap:10px}
  .h-services .h-service-fit{font-size:13px;line-height:1.5;padding-top:12px;margin-bottom:16px}
  .h-services .h-section-footnote{max-width:540px;margin-inline:auto}
  [data-scroll-mode="pinned"] .h-services{--service-dock-size:44px;--service-dock-gap:8px;--service-dock-space:60px;padding-block:calc(var(--home-header) + 16px) calc(20px + env(safe-area-inset-bottom,0px))}
  [data-scroll-mode="pinned"] .h-services-inner{min-height:calc(var(--scene-viewport) - var(--home-header) - 36px - env(safe-area-inset-bottom,0px))}
  [data-scroll-mode="pinned"] .h-services-intro h2{font-size:clamp(32px,8.6vw,42px);line-height:1.15}
  [data-scroll-mode="pinned"] .h-services .h-services-intro>p{font-size:16px;line-height:1.65;margin-top:24px}
  [data-scroll-mode="pinned"] .h-services .h-service-tab{border:0}
  [data-scroll-mode="pinned"] .h-services .h-service-panel{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:160px auto;align-content:start;gap:8px;min-height:0;padding:0}
  [data-scroll-mode="pinned"] .h-service-portrait-space{width:100%;height:160px;min-height:0;margin:0;aspect-ratio:auto}
  [data-scroll-mode="pinned"] .h-services .h-service-panel h3{font-size:30px;line-height:1.1}
  [data-scroll-mode="pinned"] .h-services .h-panel-desc{font-size:14px;line-height:1.5;margin-top:10px}
  [data-scroll-mode="pinned"] .h-services .h-service-features{margin-block:16px;gap:10px}
  [data-scroll-mode="pinned"] .h-services .h-service-features li{font-size:13px;line-height:1.5}
  [data-scroll-mode="pinned"] .h-services .h-service-fit{font-size:13px;line-height:1.5;padding-top:12px;margin-bottom:14px}
  [data-scroll-mode="pinned"] .h-services .h-service-panel .h-button{font-size:12px;min-height:44px;padding-block:10px}
  [data-scroll-mode="pinned"] .h-services .h-section-footnote{font-size:9px;line-height:1.5;margin-top:14px}
}
