/* Services: "Blueprint" theme (light, cool) + the neon patch bay. Loads after system.css. Tokens come from body.page-services in system.css. 390 first. */
body.page-services{--m:20px;background:var(--th-bg);color:var(--th-text);
  --paper:#EEF6F8;--ink:var(--th-text);--mute:var(--th-mute);--card:var(--th-bg2);--green:var(--th-accent);--green-d:var(--th-accent);--rule:rgba(6,34,43,.2);--tint:rgba(25,195,224,.4);
  --glass-fill:rgba(255,255,255,.7);--glass-solid:#F3FAFC;--glass-text:#06222B;--glass-mute:#24414B;--glass-border:rgba(255,255,255,.75);
  --glass-hi:inset 0 1px 0 rgba(255,255,255,.95);--glass-shadow:0 22px 44px -24px rgba(11,110,127,.55);
  --rim-a:rgba(255,255,255,.95);--rim-b:rgba(255,255,255,.3);--rim-c:rgba(25,195,224,.55);--glass-phone:82%}
@media (min-width:768px){body.page-services{--m:48px}}
@media (min-width:1100px){body.page-services{--m:120px}}
body.page-services .top,body.page-services .subnav{background:rgba(238,246,248,.96)}
body.page-services .brand,body.page-services .nav a,body.page-services .menu-btn,body.page-services .top-r a.pl{color:var(--th-text)}
body.page-services .nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--th-sig)}
body.page-services .btn{background:var(--th-accent);border-color:var(--th-accent);color:var(--th-accent-ink)}
body.page-services .btn:hover{background:#06222B;border-color:#06222B;color:#fff}
body.page-services .btn.line{background:transparent;color:var(--th-text);border-color:var(--th-text)}
body.page-services .txt-link{color:var(--th-accent)}
body.page-services .eyebrow,body.page-services .eyebrow b{color:var(--th-accent)}
body.page-services .eyebrow b::after{color:var(--th-sig)}

/* every section: a neon tube along its top edge, cyan */
body.page-services main>section:not(.pg-head){position:relative}
body.page-services main>section:not(.pg-head)::before{content:"";position:absolute;z-index:2;top:0;left:var(--m);right:var(--m);height:3px;border-radius:3px;pointer-events:none;
  background:linear-gradient(90deg,transparent 0,#19C3E0 9%,#D5F8FF 50%,#19C3E0 91%,transparent 100%);
  box-shadow:0 0 5px #19C3E0,0 0 16px rgba(25,195,224,.65),0 0 40px rgba(25,195,224,.4);opacity:.92}

/* head: blueprint field */
body.page-services .pg-head{padding:calc(var(--b)*3) 0 calc(var(--b)*1.5);isolation:isolate;background:
  linear-gradient(to top,var(--th-bg),transparent 90px),
  radial-gradient(circle var(--blob) at 8% 14%,var(--th-glow1),transparent),
  radial-gradient(circle var(--blob) at 100% 55%,var(--th-glow2),transparent),var(--th-bg)}
body.page-services .pg-head h1 em,body.page-services h2 em{color:var(--th-accent)}
body.page-services .lede{color:var(--th-mute)}
.sv-ph{display:grid;gap:var(--sp-4);margin-top:var(--sp-6);grid-template-columns:1fr}
.sv-ph .sm{display:none}
.sv-fig{position:relative;margin:0;border-radius:var(--panel-r);overflow:hidden;background:#06222B;border:1px solid rgba(255,255,255,.7);box-shadow:0 22px 44px -24px rgba(11,110,127,.65),0 0 0 1px rgba(11,110,127,.18)}
.sv-fig img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}
.sv-fig figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 16px 12px;font:600 14px/1.3 var(--font-text);color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.72),transparent)}
@media (min-width:768px){.sv-ph{grid-template-columns:2fr 1fr;align-items:stretch;gap:var(--sp-5)}.sv-ph .sm{display:block}.sv-ph .sv-fig img{height:100%;aspect-ratio:auto}}

/* offer sections: aurora field, glass card, photo above it */
body.page-services .svc{background:radial-gradient(circle var(--blob) at 0% 20%,var(--th-glow2),transparent),radial-gradient(circle var(--blob) at 100% 80%,var(--th-glow1),transparent),var(--th-bg);border-top:0;padding:56px 0;isolation:isolate}
body.page-services .svc.alt{background:radial-gradient(circle var(--blob) at 100% 10%,var(--th-glow2),transparent),radial-gradient(circle var(--blob) at 0% 90%,var(--th-glow1),transparent),var(--th-bg2)}
body.page-services .svc .a{display:flex;flex-direction:column;gap:var(--sp-4)}
body.page-services .svc .sv-card{padding:var(--panel-pad)}
body.page-services .svc h2{font-size:var(--h2);margin:var(--sp-3) 0 var(--sp-3)}
body.page-services .svc .lede{font-size:var(--fs-lede);color:var(--glass-text);font-weight:500;margin-bottom:var(--sp-4)}
body.page-services .svc ul.pts li{color:var(--glass-text);font-size:var(--fs-body);border-bottom-color:rgba(6,34,43,.18)}
body.page-services .svc ul.pts li::before{background:var(--th-accent);box-shadow:0 0 0 3px rgba(25,195,224,.3)}
body.page-services .svc .rows{border-top:2px solid var(--th-accent)}
body.page-services .svc .rows li{color:var(--glass-text);border-bottom-color:rgba(6,34,43,.18)}
body.page-services .svc .rows li span{color:var(--th-accent)}
body.page-services .svc .idx{color:var(--th-accent)}
body.page-services .svc .idx b{background:var(--th-accent);color:#fff;box-shadow:0 0 0 4px rgba(25,195,224,.3)}
body.page-services .from{color:var(--glass-text)}
body.page-services .from small{color:var(--th-accent)}
body.page-services .dev{border:1px solid rgba(11,110,127,.45);box-shadow:0 22px 44px -24px rgba(11,110,127,.6),0 0 0 4px rgba(25,195,224,.18);background:var(--paper)}
body.page-services .dev-h{background:#D5E8EE;border-bottom:1px solid rgba(11,110,127,.4)}
body.page-services .dev-h em{color:var(--th-accent)}
@media (max-width:899px){body.page-services .svc{padding:48px 0}}

/* dark bands keep their look, retuned to the blueprint cyan */
body.page-services .decal2{background:#051E26}
body.page-services .decal2 .sec-label,body.page-services .decal2 h2 em,body.page-services .decal2 .tag{color:#7FE3F5}
body.page-services .decal2 .btn{background:#19C3E0;border-color:#19C3E0;color:#03161B}
body.page-services .wvband{background:#04141A}
body.page-services .wvband h2 em,body.page-services .wvband .eyebrow{color:#19C3E0}
body.page-services .wvband h2{color:#F3FBFD}
body.page-services .dark .lede{color:#CFE6EC}

/* ---------------- the neon patch bay ---------------- */
.pbay{background:radial-gradient(circle var(--blob) at 12% 0%,rgba(25,195,224,.28),transparent),radial-gradient(circle var(--blob) at 100% 100%,rgba(11,110,127,.4),transparent),#04141A;padding:56px 0;color:#F3FBFD;isolation:isolate}
.pbay h2{color:#F3FBFD;margin:0 0 var(--sp-3)}
.pbay h2 em{color:#19C3E0}
body.page-services .pbay .eyebrow,body.page-services .pbay .eyebrow b{color:#7FE3F5}
.pbay .lede{color:#CFE6EC;margin:0 0 var(--sp-5)}
.pb-grid{display:grid;gap:var(--sp-5);grid-template-columns:minmax(0,1fr);align-items:start}
.pb-fig{position:relative;padding:0;aspect-ratio:360/330;overflow:hidden;--glass-solid:#071C23;background:#071C23;--glass-text:#F3FBFD;--glass-mute:#CFE6EC;--glass-border:rgba(127,227,245,.35);--rim-a:rgba(255,255,255,.5);--rim-b:rgba(255,255,255,.06);--rim-c:rgba(25,195,224,.7)}
.pb-svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.pbay .rack{fill:#06161C;stroke:rgba(127,227,245,.28);stroke-width:1}
.pbay .scr{fill:#16303A;stroke:#2B5663}
.pbay .hub-b{fill:#08222A;stroke:#19C3E0;stroke-opacity:.45;stroke-width:1.5;transition:stroke-opacity .3s}
.pbay .hub-lamp{fill:#FFB347}
.pbay .hub-lamp-glow{opacity:.55;transform-box:fill-box;transform-origin:center}
.pbay .sk-o{fill:url(#pbm);stroke:#0C1A20;stroke-width:1.5}
.pbay .sk-i{fill:#030B0E;stroke:#000;stroke-width:1}
.pbay .jk{fill:#030B0E;stroke:#2B5663;stroke-width:2;transition:stroke .3s,fill .3s}
.pbay .cab path{fill:none;stroke-linecap:round}
.pbay .c-g{stroke:#19C3E0;stroke-width:15;opacity:.12;transition:opacity .35s}
.pbay .c-m{stroke:#19C3E0;stroke-width:5;opacity:.48;transition:opacity .35s}
.pbay .c-c{stroke:#9FD8E4;stroke-width:1.6;opacity:.62;transition:opacity .35s,stroke .35s}
.pbay .c-p{stroke:#FFFFFF;stroke-width:3;opacity:.32;stroke-dasharray:7 93}
.pbay .plug{fill:#1B2C33;stroke:#5C7A85;stroke-width:2;transition:stroke .3s}
.pbay .plug-l{fill:#2B5663;transition:fill .3s}
.pbay .cab.on .c-g{opacity:.62}
.pbay .cab.on .c-m{opacity:1}
.pbay .cab.on .c-c{opacity:1;stroke:#fff}
.pbay .cab.on .c-p{opacity:.95}
.pbay .cab.on .plug{stroke:#19C3E0}
.pbay .cab.on .plug-l{fill:#D5F8FF}
.pbay .cab.on .jk{stroke:#19C3E0;fill:#19C3E0}
.pbay:has(.cab.on) .hub-b{stroke-opacity:1}
.pb-btn{position:absolute;top:0;height:calc(100% * 106 / 330);width:calc(100% * 84 / 360);padding:10px 0 0;border:0;background:transparent;color:#F3FBFD;font:700 16px/1 var(--font-text);letter-spacing:.02em;cursor:pointer;display:flex;justify-content:center;align-items:flex-start;border-radius:14px;-webkit-tap-highlight-color:transparent}
.pb-btn[aria-pressed="true"]{color:#7FE3F5;text-shadow:0 0 14px rgba(25,195,224,.9)}
.pb-btn:hover{color:#7FE3F5}
.pb-btn:focus-visible{outline:3px solid #FFB347;outline-offset:-3px}
.pb-hub{position:absolute;left:0;right:0;top:calc(100% * 266 / 330);text-align:center;font:700 14px/1 var(--font-text);letter-spacing:.14em;text-transform:uppercase;color:#7FE3F5;pointer-events:none}
.pb-out{padding:var(--panel-pad);--glass-solid:#071C23;--glass-text:#F3FBFD;--glass-mute:#D7EAF0;min-height:236px;display:flex;align-items:center}
.pb-out .panel-k{color:#7FE3F5;opacity:1}
.pb-out .panel-h{color:#F3FBFD}
.pb-out .panel-p{margin-bottom:var(--sp-4)}
.pb-out .btn{background:#19C3E0;border-color:#19C3E0;color:#03161B}
.pb-out .btn:hover{background:#7FE3F5;border-color:#7FE3F5;color:#03161B}
.pb-o[hidden]{display:none}
@media (min-width:768px){.pbay{padding:88px 0}.pb-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center}.pb-out{min-height:0}.pb-fig{max-width:620px}}
@media (min-width:1200px){.pb-fig{max-width:680px}}
@media (prefers-reduced-motion:no-preference){
  .pbay .c-p{animation:pb-flow 3.6s linear infinite}
  .pbay .cab.on .c-p{animation-duration:1.7s}
  .pbay .hub-lamp-glow{animation:pb-breathe 3.4s ease-in-out infinite}
  .pb-o:not([hidden]){animation:pb-in .4s ease both}
}
@keyframes pb-flow{from{stroke-dashoffset:0}to{stroke-dashoffset:-100}}
@keyframes pb-breathe{0%,100%{opacity:.4;transform:scale(.9)}50%{opacity:.8;transform:scale(1.1)}}
@keyframes pb-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pbay .c-p{animation:none;opacity:.55}.pbay .cab.on .c-p{opacity:.88}}
html.lite body.page-services .sv-card,html.lite .pb-out{background:var(--glass-solid)}

/* decal band: two cards, stacked on phones (the inline grid-column spans only fit wide screens) */
body.page-services .decal2{padding:56px 0;isolation:isolate;background:radial-gradient(circle var(--blob) at 90% 0%,rgba(25,195,224,.3),transparent),#051E26}
body.page-services .decal2 .g12>div{grid-column:1/-1!important;align-self:stretch!important;padding:var(--panel-pad);border-radius:var(--panel-r);background:rgba(7,28,35,.82);border:1px solid rgba(127,227,245,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 18px 40px -22px #000}
body.page-services .decal2 .g12{row-gap:var(--sp-4)}
body.page-services .decal2 h2{color:#F3FBFD}
body.page-services .decal2 .lede{color:#D7EAF0;margin-bottom:var(--sp-4)}
body.page-services .decal2 .lede strong{color:#F3FBFD!important}
@media (min-width:900px){
  body.page-services .decal2 .g12>div:first-child{grid-column:1/span 7!important}
  body.page-services .decal2 .g12>div:last-child{grid-column:8/span 5!important;align-self:end!important}
}

/* specificity: the dark bands win over the light-page rules above */
body.page-services .pbay h2 em,body.page-services .pbay h2 .em{color:#19C3E0}
body.page-services .pbay .pb-out .btn{background:#19C3E0;border-color:#19C3E0;color:#03161B}
body.page-services .pbay .pb-out .btn:hover{background:#7FE3F5;border-color:#7FE3F5;color:#03161B}
body.page-services .decal2 h2 em{color:#7FE3F5}
body.page-services .svc h2{line-height:1.16}body.page-services .svc h2 em{display:block;margin-top:2px}
