/* ROC Services Accordion — Elementor component + About template fallback */
.roc-services-accordion{
  --roc-services-bg:#090909;
  --roc-services-paper:#f3efe7;
  --roc-services-muted:#8e8a84;
  --roc-services-acid:#caff00;
  --roc-services-pink:#ff5aa9;
  --roc-services-cyan:#18dbe6;
  --roc-services-line:#343434;
  position:relative;
  isolation:isolate;
  width:100%;
  margin:0;
  padding:clamp(70px,9vw,150px) clamp(22px,4vw,70px);
  overflow:visible;
  color:var(--roc-services-paper);
  background:
    radial-gradient(circle at 9% 14%,color-mix(in srgb,var(--roc-services-cyan) 12%,transparent),transparent 27%),
    radial-gradient(circle at 87% 84%,color-mix(in srgb,var(--roc-services-pink) 10%,transparent),transparent 24%),
    var(--roc-services-bg);
}
.roc-services-accordion::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.28;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(90deg,#000,transparent 88%);
}
.roc-services-head{display:grid;grid-template-columns:minmax(210px,.6fr) minmax(0,1.9fr);gap:24px 56px;margin:0 0 clamp(48px,6vw,86px);align-items:start}
.roc-services-eyebrow{grid-column:1;margin:7px 0 0;color:var(--roc-services-red,#ff4938);font:800 14px/1.2 var(--roc-mono,"IBM Plex Mono",monospace);letter-spacing:.16em;text-transform:uppercase}
.roc-services-title{grid-column:2;margin:0;max-width:14ch;color:var(--roc-services-paper);font:900 clamp(64px,8vw,138px)/.79 var(--roc-sans,Arial,sans-serif);letter-spacing:-.075em;text-wrap:balance}
.roc-services-title span,.roc-services-title em{display:block}
.roc-services-title em{margin-left:clamp(20px,7vw,130px);color:var(--roc-services-pink);font-family:var(--roc-serif,Georgia,serif);font-style:italic;font-weight:800;letter-spacing:-.055em}
.roc-services-intro{grid-column:2;max-width:78ch;margin:3px 0 0;color:var(--roc-services-muted);font:500 18px/1.55 var(--roc-sans,Arial,sans-serif)}
.roc-services-layout{display:grid;grid-template-columns:minmax(240px,.64fr) minmax(0,2fr);gap:clamp(34px,6vw,100px);align-items:start}
.roc-services-layout::before{content:"";position:absolute;inset:auto 0 0;pointer-events:none}
.roc-services-nav{
  position:sticky;
  top:clamp(88px,11vh,124px);
  z-index:4;
  display:flex;
  flex-direction:column;
  max-height:calc(100vh - 150px);
  overflow:auto;
  padding:16px;
  border:1px solid rgba(243,239,231,.18);
  border-left:4px solid var(--roc-services-pink);
  background:rgba(9,9,9,.92);
  box-shadow:12px 14px 0 rgba(24,219,230,.09);
  backdrop-filter:blur(12px);
}
.roc-services-nav::before{
  content:"Capabilities / choose a lane";
  display:block;
  margin:0 0 10px;
  color:var(--roc-services-acid);
  font:800 12px/1.25 var(--roc-mono,"IBM Plex Mono",monospace);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.roc-services-tab{position:relative;display:grid;grid-template-columns:38px 1fr 22px;gap:12px;align-items:center;width:100%;margin:0;padding:16px 12px;border:0;border-bottom:1px solid var(--roc-services-line);color:var(--roc-services-muted);background:transparent;text-align:left;cursor:pointer;transition:color .18s ease,transform .18s ease,background .18s ease}
.roc-services-tab:hover{color:var(--roc-services-paper);background:rgba(255,255,255,.045);transform:translateX(4px)}
.roc-services-tab.is-active{color:#090909;background:var(--roc-services-pink);transform:translateX(6px)}
.roc-services-number{color:var(--roc-services-pink);font:800 12px/1 var(--roc-mono,"IBM Plex Mono",monospace);letter-spacing:.08em}
.roc-services-tab.is-active .roc-services-number{color:#090909}
.roc-services-tab-label{font:800 clamp(19px,1.7vw,28px)/1.08 var(--roc-sans,Arial,sans-serif);letter-spacing:-.035em}
.roc-services-plus{position:relative;width:18px;height:18px;justify-self:end}
.roc-services-plus::before,.roc-services-plus::after{content:"";position:absolute;left:2px;top:8px;width:14px;height:2px;background:currentColor;transition:transform .2s ease}
.roc-services-plus::after{transform:rotate(90deg)}
.roc-services-tab.is-active .roc-services-plus::before,.roc-services-tab.is-active .roc-services-plus::after{background:#090909}.roc-services-tab.is-active .roc-services-plus::after{transform:rotate(0)}
.roc-services-panels{min-width:0}
.roc-services-panel[hidden]{display:none!important}
.roc-services-panel{animation:rocServicesIn .36s cubic-bezier(.2,.7,.2,1) both}
@keyframes rocServicesIn{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:none}}
.roc-services-panel-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:24px clamp(34px,5vw,86px);align-items:end;padding:0 0 clamp(28px,4vw,56px)}
.roc-services-panel-index{margin:0 0 13px;color:var(--roc-services-cyan);font:800 12px/1 var(--roc-mono,"IBM Plex Mono",monospace);letter-spacing:.15em;text-transform:uppercase}
.roc-services-panel h3{max-width:14ch;margin:0;color:var(--roc-services-paper);font:900 clamp(44px,5.8vw,96px)/.86 var(--roc-sans,Arial,sans-serif);letter-spacing:-.07em;text-wrap:balance}
.roc-service-word{display:inline;color:inherit;background:none}
.roc-service-word--serif{color:var(--roc-services-acid);font-family:var(--roc-serif,Georgia,serif);font-style:italic;font-weight:800;letter-spacing:-.045em}
.roc-service-word--accent{color:var(--roc-services-pink)}
.roc-services-statement{max-width:38ch;margin:0;color:var(--roc-services-paper);font:italic 700 clamp(22px,2.3vw,38px)/1.02 var(--roc-serif,Georgia,serif);letter-spacing:-.035em}
.roc-services-proof{display:flex;flex-wrap:wrap;gap:9px 18px;margin:0 0 22px;padding:13px 0;border-top:1px solid var(--roc-services-line);border-bottom:1px solid var(--roc-services-line);font:700 12px/1.4 var(--roc-mono,"IBM Plex Mono",monospace);letter-spacing:.025em;text-transform:uppercase}
.roc-services-proof b{color:var(--roc-services-pink)}
.roc-services-proof span{color:var(--roc-services-muted)}
.roc-services-list{border-top:1px solid var(--roc-services-line)}
.roc-service-row{position:relative;display:grid;grid-template-columns:minmax(230px,.9fr) minmax(300px,1.1fr) 22px;gap:24px clamp(32px,5vw,86px);align-items:start;padding:clamp(22px,2.7vw,38px) 0;border-bottom:1px solid var(--roc-services-line);color:inherit;text-decoration:none;transition:padding .2s ease,background .2s ease}
a.roc-service-row:hover{padding-left:14px;padding-right:14px;background:rgba(255,255,255,.035)}
.roc-service-row h4{margin:0;color:var(--roc-services-paper);font:850 clamp(24px,2.45vw,42px)/.97 var(--roc-sans,Arial,sans-serif);letter-spacing:-.055em;text-wrap:balance}
.roc-service-row:nth-child(even) h4{font-family:var(--roc-serif,Georgia,serif);font-style:italic;font-weight:800}
.roc-service-description p{max-width:52ch;margin:0;color:var(--roc-services-muted);font:600 clamp(16px,1.25vw,20px)/1.35 var(--roc-sans,Arial,sans-serif);letter-spacing:-.018em}
.roc-service-description small{display:block;margin-top:10px;color:var(--roc-services-cyan);font:700 12px/1.35 var(--roc-mono,"IBM Plex Mono",monospace);letter-spacing:.04em;text-transform:uppercase}
.roc-service-arrow{align-self:center;color:var(--roc-services-pink);font:900 20px/1 var(--roc-mono,"IBM Plex Mono",monospace)}
.roc-services-footer{display:flex;justify-content:flex-end;align-items:baseline;gap:12px;margin:clamp(48px,6vw,90px) 0 0;padding-top:20px;border-top:1px solid var(--roc-services-line);font:700 14px/1.4 var(--roc-mono,"IBM Plex Mono",monospace)}
.roc-services-footer span{color:var(--roc-services-muted)}
.roc-services-footer a{color:#090909;background:var(--roc-services-acid);padding:8px 10px;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.roc-services-footer a:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 var(--roc-services-pink)}
.roc-services-template-wrap{width:100%;margin:0}

@media(max-width:900px){
  .roc-services-head{grid-template-columns:1fr;gap:18px}
  .roc-services-eyebrow,.roc-services-title,.roc-services-intro{grid-column:1}
  .roc-services-title{font-size:clamp(58px,13vw,98px)}
  .roc-services-title em{margin-left:6vw}
  .roc-services-layout{grid-template-columns:1fr;gap:32px}
  .roc-services-nav{position:static;display:grid;grid-template-columns:1fr 1fr;max-height:none;overflow:visible;padding:0;border:0;border-top:1px solid var(--roc-services-line);box-shadow:none;background:transparent;backdrop-filter:none}
  .roc-services-nav::before{grid-column:1/-1;margin:0;padding:14px 0}
  .roc-services-tab:nth-child(odd){border-right:1px solid var(--roc-services-line);padding-right:14px}
  .roc-services-tab:nth-child(even){padding-left:14px}
  .roc-services-panel-head{grid-template-columns:1fr;gap:24px}
  .roc-services-statement{max-width:32ch}
}
@media(max-width:640px){
  .roc-services-accordion{padding:64px 18px 78px}
  .roc-services-nav{grid-template-columns:1fr}
  .roc-services-tab:nth-child(odd){border-right:0;padding-right:0}
  .roc-services-tab:nth-child(even){padding-left:0}
  .roc-services-tab-label{font-size:20px}
  .roc-service-row{grid-template-columns:1fr;gap:12px;padding:24px 0}
  .roc-service-arrow{position:absolute;right:0;top:27px}
  .roc-services-footer{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  .roc-services-panel{animation:none}
  .roc-services-tab,a.roc-service-row,.roc-services-footer a{transition:none}
}
