/* Service presentation adapted from Elite Grup 3D; content comes from services.json. */
body:has(.services-index) { --eg-service-ease:cubic-bezier(0.23,1,0.32,1); }
body:has(.services-index) .page-intro {
 min-height:174px!important; padding:24px 0!important; display:flex; align-items:center; text-align:left!important;
 background:linear-gradient(115deg,#0b2741,#103b61 63%,#0a2947)!important;
 border-bottom:1px solid #c8ddeb38;
}
body:has(.services-index) .page-intro .container,
body:has(.services-index) .services-index .container { width:100%; max-width:none!important; margin:0!important; padding-inline:clamp(14px,2vw,34px); }
body:has(.services-index) .page-intro > .wp-block-group__inner-container { display:block; width:100%; }
body:has(.services-index) .page-intro h1 { position:relative; z-index:1; margin:0!important; text-align:left!important; font:600 clamp(42px,5.6vw,76px)/1.05 Arial,sans-serif; letter-spacing:-.045em; color:#fff; }
body:has(.services-index) .page-intro h1::before { display:none; }
body:has(.services-index) .services-brand-title { display:block; margin-top:10px; font-size:clamp(26px,3.5vw,48px); line-height:1.12; letter-spacing:-.035em; color:#d4edf6; }
body:has(.services-index) .page-intro h1::after { display:none; }
body:has(.services-index) .services-index::before { display:none; }
body:has(.services-index) .page-intro::before { content:""; position:absolute; inset:0 0 0 44%; z-index:0; pointer-events:none; background:repeating-linear-gradient(118deg,transparent 0 76px,rgba(143,230,255,.13) 77px,rgba(209,250,255,.8) 78px,rgba(143,230,255,.13) 79px,transparent 81px 154px); mask-image:linear-gradient(90deg,transparent,#000 55%); filter:drop-shadow(0 0 7px #7cdeff); }
body:has(.services-index) .page-intro::after { content:""; position:absolute; inset:0 0 0 48%; width:auto; height:auto; z-index:0; pointer-events:none; background:radial-gradient(ellipse at 90% 45%,#4bceff24,transparent 70%); border:0; transform:none; box-shadow:none; }
body:has(.services-index) .services-index { padding:22px 0 29px!important; background:linear-gradient(125deg,#091b31,#0c2945 56%,#0b2340)!important; }
body:has(.services-index) .services-index::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 50% 45%,#1b527534,transparent 61%),linear-gradient(115deg,transparent 49.8%,#a3dff010 50%,transparent 50.2%); }
.services-index .services-list { display:flex; flex-direction:column; gap:0; max-width:none; margin:0; perspective:1200px; }
.services-index .services-list::before { display:block; content:"S.E.R.V.I.C.I.I."; top:50%; left:50%; transform:translate(-50%,-50%); font-size:clamp(26px,8vw,120px); letter-spacing:-.04em; color:rgba(255,255,255,.065); }
.services-index .service-accordion { width:min(830px,82%); margin:0 auto 0 0; border:0; border-bottom:1px solid #c8ddeb38; background:transparent; transform-style:preserve-3d; transition:transform 250ms var(--eg-service-ease); }
.services-index .service-accordion:first-of-type { border-top:1px solid #c8ddeb38; }
.services-index .service-accordion:nth-of-type(even) { margin:0 0 0 auto; }
.services-index .service-accordion summary,
.services-index .service-accordion:nth-of-type(even) summary { display:grid; grid-template-columns:48px minmax(180px,.82fr) minmax(160px,1fr) 30px; grid-template-rows:1fr; column-gap:16px; min-height:65px; padding:13px 18px; text-align:left; clip-path:none; border:0; border-left:2px solid #77d9ed55; background:linear-gradient(95deg,#ffffff08,#ffffff02 70%,transparent); transform:translateZ(2px); }
.services-index .service-number { grid-column:1; grid-row:1; color:#84d9ec; font:600 12px/1 Arial,sans-serif; letter-spacing:.08em; }
.services-index .service-title { grid-column:2; grid-row:1; font:500 clamp(15px,1.45vw,19px)/1.2 Arial,sans-serif; color:#fff; letter-spacing:-.02em; }
.services-index .service-summary-copy { grid-column:3; grid-row:1; color:#aebfcd; font:400 12px/1.5 Arial,sans-serif; }
.services-index .service-plus { grid-column:4; grid-row:1; width:26px; height:26px; border:1px solid #b3ccda65; border-radius:0; color:transparent; font-size:0; transform:rotate(45deg) scale(.76); position:relative; transition:transform 250ms var(--eg-service-ease); }
.services-index .service-plus::before,
.services-index .service-plus::after { content:""; position:absolute; left:7px; right:7px; top:12px; height:1px; background:#a1e2f0; }
.services-index .service-plus::after { transform:rotate(90deg); }
.services-index .service-accordion[open] .service-plus { transform:rotate(135deg) scale(.76); background:none; }
.services-index .service-panel,
.services-index .service-accordion:nth-of-type(even) .service-panel { max-width:none; margin:0; padding:22px 40px 24px 82px; border:0; text-align:left; font-size:13px; color:#c6d5df; }
.services-index .service-details { gap:10px 26px; }
.services-index .service-details li { border-color:#c8ddeb38; }
body:has(.services-index) .cta-section { border-bottom:1px solid #e6edf2!important; }
body:has(.services-index) .cta-section .container { padding-inline:clamp(14px,2vw,34px)!important; }
body:has(.services-index) .cta-inner { min-height:67px!important; }
body:has(.services-index) .cta-inner > .wp-block-group__inner-container { display:contents!important; }
body:has(.services-index) .cta-inner h2 { margin:0!important; font:500 15px/1.4 Arial,sans-serif!important; letter-spacing:normal!important; }
body:has(.services-index) .cta-hide-copy { display:none!important; }
body:has(.services-index) .cta-section .wp-block-button__link { color:#15599c!important; border:0!important; font:700 11px/1.5 Arial,sans-serif!important; }
/* Keep accordion geometry fixed while its height changes. */
html:has(.services-index) { scrollbar-gutter:stable; }
.services-index .service-accordion,
.services-index .service-accordion:hover { transform:none!important; transform-style:flat; transition:none; }
.services-index .service-accordion summary { transform:none!important; }
@media(max-width:1050px) { .services-index .service-accordion { width:88%; } }
@media(max-width:800px) {
 body:has(.services-index) .page-intro { min-height:143px!important; padding:22px 0!important; }
 body:has(.services-index) .page-intro .container,body:has(.services-index) .services-index .container { padding-inline:16px; }
 body:has(.services-index) .services-index { padding:13px 0 20px!important; }
 .services-index .service-accordion,.services-index .service-accordion:nth-of-type(even) { width:100%; margin:0; }
 .services-index .service-accordion summary,.services-index .service-accordion:nth-of-type(even) summary { grid-template-columns:33px minmax(0,1fr) 25px; grid-template-rows:auto auto; gap:4px 10px; padding:12px 7px; min-height:68px; }
 .services-index .service-number { grid-column:1; grid-row:1/3; }
 .services-index .service-title { grid-column:2; grid-row:1; font-size:16px; }
 .services-index .service-summary-copy { grid-column:2; grid-row:2; font-size:11px; }
 .services-index .service-plus { grid-column:3; grid-row:1/3; }
 .services-index .service-panel,.services-index .service-accordion:nth-of-type(even) .service-panel { padding:18px 12px 22px 50px; }
 .services-index .service-details { grid-template-columns:1fr; }
 body:has(.services-index) .cta-inner { min-height:61px!important; }
}
@media(max-width:800px) {
 body:has(.services-index) .header-inner { gap:12px; min-width:0; }
 body:has(.services-index) .brand { min-width:0; }
 body:has(.services-index) .brand-wordmark { display:flex; flex-direction:column; align-items:flex-start; min-width:0; gap:2px; }
 body:has(.services-index) .brand-name { font-size:18px; line-height:1.1; }
 body:has(.services-index) .brand-consulting { font-size:7px; letter-spacing:.18em; }
 body:has(.services-index) .mobile-toggle { flex:0 0 auto; padding:8px 10px; font-size:12px; }
 body:has(.services-index) .cta-section .container { min-width:0!important; width:100%!important; left:auto!important; margin:0!important; transform:none!important; box-sizing:border-box; }
 body:has(.services-index) .cta-inner { gap:12px!important; }
 body:has(.services-index) #wpvibe-preview-banner { overflow:hidden; }
}
@media(prefers-reduced-motion:reduce) {
 .services-index .service-accordion,.services-index .service-accordion summary,.services-index .service-plus { transform:none!important; transition:none!important; }
}
