.service-accordion {
  --service-accent: var(--rojo, var(--oro, #d42b2b));
  padding: clamp(56px, 7vw, 112px) clamp(20px, 6vw, 100px);
  background: var(--azul-noche, var(--azul, #0b1829));
  color: var(--blanco, #f5f6f7);
  scroll-margin-top: 100px;
}
.service-accordion-layout { max-width: 1320px; margin: auto; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 6vw, 88px); align-items: start; }
.service-accordion-intro { position: sticky; top: 120px; }
.service-accordion-kicker { color: var(--service-accent); font: 700 13px var(--body); letter-spacing: .18em; text-transform: uppercase; margin-bottom: 20px; }
.service-accordion h2 { font: 500 clamp(36px, 4.5vw, 64px)/1.06 var(--display); margin: 0 0 24px; }
.service-accordion-intro > p:not(.service-accordion-kicker) { color: #c8d0d8; font: 400 17px/1.75 var(--body); max-width: 38ch; }
.service-accordion-photo { margin-top: 32px; }
.service-accordion-photo img { display: block; width: 100%; height: auto; aspect-ratio: 1672/941; object-fit: cover; }
.service-accordion-photo figcaption { color: #c8d0d8; font: 400 12px/1.6 var(--body); margin-top: 12px; letter-spacing: .06em; }
.service-accordion-list { display: grid; gap: 12px; min-width: 0; }
.service-disclosure { border: 1px solid #c8d0d830; background: #ffffff04; transition: border-color .2s, background .2s; }
.service-disclosure[open] { border-color: var(--service-accent); background: #ffffff08; }
.service-disclosure summary { display: grid; grid-template-columns: 30px minmax(0, 1fr) 30px; align-items: center; gap: 16px; padding: 23px 24px; cursor: pointer; list-style: none; font: 600 clamp(20px, 2.1vw, 27px)/1.25 var(--display); }
.service-disclosure summary::-webkit-details-marker { display: none; }
.service-disclosure summary:hover { background: #ffffff06; }
.service-disclosure summary:focus-visible, .service-disclosure a:focus-visible { outline: 2px solid var(--blanco); outline-offset: 4px; }
.service-disclosure-icon { width: 28px; height: 28px; color: var(--service-accent); }
.service-disclosure-toggle { width: 28px; height: 28px; border: 1px solid #c8d0d85c; border-radius: 50%; position: relative; }
.service-disclosure-toggle::before, .service-disclosure-toggle::after { content: ''; position: absolute; width: 10px; height: 1px; top: 12px; left: 8px; background: currentColor; }
.service-disclosure-toggle::after { transform: rotate(90deg); transition: transform .2s; }
.service-disclosure[open] .service-disclosure-toggle { color: var(--service-accent); border-color: currentColor; }
.service-disclosure[open] .service-disclosure-toggle::after { transform: rotate(0); }
.service-disclosure-body { padding: 0 24px 26px 70px; }
.service-disclosure-body p { font: 400 16px/1.8 var(--body); color: #c8d0d8; margin: 0 0 18px; }
.service-disclosure-body a { display: inline-flex; align-items: center; min-height: 44px; color: var(--blanco); font: 600 14px var(--body); text-decoration: none; border-bottom: 1px solid var(--service-accent); }
@media (max-width: 800px) {
  .service-accordion-layout { grid-template-columns: minmax(0, 1fr); }
  .service-accordion-intro { position: static; }
  .service-accordion-photo { display: none; }
}
@media (max-width: 420px) {
  .service-disclosure summary { padding: 22px 16px; gap: 12px; grid-template-columns: 26px minmax(0, 1fr) 28px; }
  .service-disclosure-body { padding: 0 18px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .service-disclosure, .service-disclosure-toggle::after { transition: none; }
}
