/* DB Resilience v16 — Services, pricing, desktop engineering rail, and student training banner */
html { scroll-behavior: smooth; }
.engineering-rail { display: none; }
.services-section, .pricing-section { scroll-margin-top: 104px; }
.services-heading, .pricing-heading { max-width: 860px; }
.services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-top:42px; }
.service-card { position:relative; min-height:235px; padding:28px 26px 30px; border:1px solid rgba(121,190,231,.18); border-radius:20px; background:linear-gradient(160deg,rgba(9,28,46,.84),rgba(6,19,33,.94)); box-shadow:inset 0 1px 0 rgba(255,255,255,.025); }
.service-card::before { content:""; position:absolute; top:0; left:26px; width:48px; height:2px; background:linear-gradient(90deg,var(--cyan),var(--green)); }
.service-code { display:inline-block; margin-bottom:30px; font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; letter-spacing:.12em; color:var(--cyan); }
.service-card h3 { margin:0 0 12px; font-size:21px; line-height:1.25; }
.service-card p { margin:0; color:#aabfce; font-size:15.5px; line-height:1.7; }
.student-service { border-color:rgba(120,150,255,.28); }
.service-cta-row { display:flex; justify-content:space-between; align-items:center; gap:28px; margin-top:24px; padding:26px 28px; border:1px solid rgba(99,239,189,.20); border-radius:20px; background:rgba(8,25,41,.72); }
.service-cta-row>div { display:grid; gap:7px; }
.service-cta-label,.pricing-kicker,.pricing-notes span { font:700 11px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; letter-spacing:.11em; color:var(--cyan); }
.service-cta-row strong { font-size:18px; }
.pricing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:42px; }
.pricing-card { position:relative; padding:32px; border:1px solid rgba(121,190,231,.19); border-radius:22px; background:linear-gradient(160deg,rgba(9,28,46,.88),rgba(6,18,31,.96)); }
.pricing-card.featured { border-color:rgba(99,239,189,.37); box-shadow:inset 0 0 0 1px rgba(99,239,189,.05); }
.pricing-card h3 { margin:14px 0 22px; font-size:24px; }
.price { display:flex; align-items:baseline; gap:9px; margin-bottom:22px; }
.price strong { font-size:clamp(38px,4vw,58px); line-height:.95; letter-spacing:-.045em; }
.price span { color:#9fb5c5; font-size:15px; }
.pricing-card p,.pricing-card li,.pricing-notes p,.pricing-clarifier { color:#aabfce; font-size:15.5px; line-height:1.65; }
.pricing-card ul { display:grid; gap:9px; margin:0; padding-left:20px; }
.pricing-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:20px; }
.pricing-notes article { padding:24px 26px; border:1px solid rgba(121,190,231,.15); border-radius:18px; background:rgba(7,22,37,.72); }
.pricing-notes strong { display:block; margin:9px 0 8px; font-size:18px; }
.pricing-notes p { margin:0; }
.pricing-clarifier { margin-top:18px; padding:18px 20px; border-left:3px solid rgba(82,221,255,.55); background:rgba(82,221,255,.045); }
.pricing-clarifier strong { color:var(--text); }
@media (min-width:1120px) {
  .nav-links .mobile-core-link { display:none; }
  .engineering-rail {
    position:fixed;
    z-index:35;
    top:116px;
    left:22px;
    display:grid;
    width:208px;
    gap:10px;
    padding:20px 15px 18px;
    border:1px solid rgba(121,190,231,.18);
    border-radius:20px;
    background:rgba(5,15,27,.91);
    backdrop-filter:blur(18px);
    box-shadow:0 18px 48px rgba(0,0,0,.20);
  }
  .rail-label {
    padding:0 10px 8px;
    font:700 10.5px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    letter-spacing:.15em;
    color:#8099ab;
  }
  .engineering-rail a {
    display:grid;
    grid-template-columns:28px minmax(0,1fr);
    align-items:center;
    gap:9px;
    min-height:46px;
    padding:10px 10px;
    border-radius:12px;
    color:#b7c9d6;
    font-size:14.5px;
    line-height:1.25;
    font-weight:720;
    text-decoration:none;
    transition:background .16s ease,color .16s ease,transform .16s ease;
  }
  .engineering-rail a:hover,.engineering-rail a:focus-visible { color:var(--text); background:rgba(82,221,255,.085); transform:translateX(2px); outline:none; }
  .rail-index { font:700 10.5px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace; color:var(--cyan); }
  .student-rail-banner {
    margin-top:8px;
    padding:17px 14px 14px;
    border-top:1px solid rgba(121,190,231,.17);
    border-radius:0 0 14px 14px;
    background:linear-gradient(160deg,rgba(82,221,255,.055),rgba(99,239,189,.04));
  }
  .student-rail-kicker {
    display:block;
    margin-bottom:10px;
    color:var(--green);
    font:800 9.5px/1.35 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
    letter-spacing:.10em;
  }
  .student-rail-banner strong {
    display:block;
    margin-bottom:9px;
    color:var(--text);
    font-size:15px;
    line-height:1.28;
  }
  .student-rail-banner p {
    margin:0 0 12px;
    color:#9fb6c7;
    font-size:12.5px;
    line-height:1.55;
  }
  .engineering-rail .student-rail-link {
    display:inline-flex;
    min-height:0;
    padding:0;
    grid-template-columns:none;
    color:var(--cyan);
    font-size:12.5px;
    font-weight:780;
    line-height:1.35;
  }
  .engineering-rail .student-rail-link:hover,.engineering-rail .student-rail-link:focus-visible {
    background:transparent;
    transform:none;
    color:var(--green);
  }
  .student-rail-banner small {
    display:block;
    margin-top:9px;
    color:#70899c;
    font-size:10px;
    line-height:1.35;
  }
}
@media (max-width:1119px) {
  .engineering-rail { display:none !important; }
}
@media (max-width:980px) { .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:760px) { .services-grid,.pricing-grid,.pricing-notes { grid-template-columns:1fr; } .service-card{min-height:0;} .service-cta-row{align-items:flex-start;flex-direction:column;} .price strong{font-size:43px;} }
html[data-theme="light"] .service-card,html[data-theme="light"] .pricing-card,html[data-theme="light"] .pricing-notes article,html[data-theme="light"] .service-cta-row,html[data-theme="light"] .engineering-rail { background:rgba(255,255,255,.90); }
html[data-theme="light"] .student-rail-banner { background:linear-gradient(160deg,rgba(35,189,248,.07),rgba(53,196,146,.055)); }
html[data-theme="light"] .student-rail-banner p { color:#4d6578; }
html[data-theme="light"] .student-rail-banner small { color:#6a8193; }
html[data-theme="light"] .service-card p,html[data-theme="light"] .pricing-card p,html[data-theme="light"] .pricing-card li,html[data-theme="light"] .pricing-notes p,html[data-theme="light"] .pricing-clarifier { color:#4d6578; }
/* Capacity status — additive only; v16 service/pricing templates preserved. */
.capacity-card { border-color:rgba(255,88,96,.34); }
.capacity-badge {
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin:-6px 0 22px;
  padding:9px 13px;
  border:1px solid rgba(255,88,96,.52);
  border-radius:999px;
  background:rgba(255,68,78,.10);
  color:#ff747c;
  font:800 11px/1 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
  letter-spacing:.12em;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.015);
}
.capacity-badge::before {
  content:"";
  width:8px;
  height:8px;
  margin-right:8px;
  border-radius:50%;
  background:#ff4d57;
  box-shadow:0 0 0 0 rgba(255,77,87,.42);
  animation:capacityPulse 1.8s ease-out infinite;
}
@keyframes capacityPulse {
  0% { box-shadow:0 0 0 0 rgba(255,77,87,.42); }
  70% { box-shadow:0 0 0 7px rgba(255,77,87,0); }
  100% { box-shadow:0 0 0 0 rgba(255,77,87,0); }
}
@media (prefers-reduced-motion:reduce) {
  .capacity-badge::before { animation:none; }
}
.capacity-note { margin:22px 0 0; padding-top:18px; border-top:1px solid rgba(121,190,231,.13); }
.capacity-link { display:inline-flex; margin-top:14px; color:var(--cyan); font-size:14px; font-weight:700; text-decoration:none; }
.capacity-link:hover,.capacity-link:focus-visible { text-decoration:underline; text-underline-offset:4px; }
html[data-theme="light"] .capacity-badge { background:rgba(205,42,53,.07); border-color:rgba(194,40,50,.32); color:#b92f39; }
html[data-theme="light"] .capacity-note { border-top-color:rgba(49,104,137,.14); }
