
.authority-page .authority-hero {
  background: radial-gradient(800px 380px at 80% -20%, rgba(25,174,232,0.24), transparent 60%),
              linear-gradient(180deg, rgba(8,16,30,0.95), rgba(7,14,25,0.96));
}
.breadcrumbs ol { display:flex; gap:.5rem; list-style:none; padding:0; margin:0 0 1rem 0; flex-wrap:wrap; }
.breadcrumbs a { color:#9ddcff; text-decoration:none; }
.authority-grid { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.authority-card, .review-placeholder-card { background:rgba(19,33,46,.85); border:1px solid #26485f; border-radius:1rem; padding:1rem; transition:transform .25s ease, box-shadow .25s ease; }
.authority-card:hover, .review-placeholder-card:hover { transform:translateY(-4px); box-shadow:0 12px 28px rgba(0,0,0,.24); }
.symptom-list, .process-steps, .faq-list, .related-links, .checklist { margin:0; padding-left:1.1rem; display:grid; gap:.45rem; }
.service-index-grid, .equipment-index-grid, .project-index-grid, .learning-index-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.service-area-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.service-area-card { background:rgba(20,33,47,.82); border:1px solid #2a4e66; border-radius:.9rem; padding:1rem; }
.service-area-note { margin-top:1rem; color:#b5cedf; }
.review-placeholder { font-style:italic; color:#c6d6e5; }
.stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:1rem; }
.stat-card { background:rgba(15,27,39,.88); border:1px solid #23485f; border-radius:.8rem; padding:1rem; text-align:center; }
.stat-value { font-size:1.8rem; font-weight:700; color:#78d7ff; display:block; }
.faq-item { border-top:1px solid #2b4f66; padding:.75rem 0; }
.faq-item button { width:100%; text-align:left; background:none; border:0; color:#eaf4fb; font:inherit; padding:0; cursor:pointer; }
.faq-item [hidden] { display:none; }
.gallery-toolbar { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1rem; }
.gallery-filter-btn { background:#102537; border:1px solid #2a5875; color:#dff2ff; border-radius:999px; padding:.4rem .9rem; cursor:pointer; }
.gallery-filter-btn.is-active { background:#1aa8e3; color:#03111a; border-color:#1aa8e3; }
.gallery-grid.authority-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:.75rem; }
.gallery-grid.authority-gallery .gallery-item { border:0; padding:0; background:none; cursor:pointer; }
.gallery-grid.authority-gallery img { width:100%; height:200px; object-fit:cover; border-radius:.65rem; border:1px solid #2a4f66; }
.caption { font-size:.9rem; color:#c5d8e6; margin-top:.35rem; }
.mobile-action-bar { position:fixed; left:0; right:0; bottom:0; background:#081521; border-top:1px solid #284e66; display:flex; justify-content:space-around; z-index:1200; }
.mobile-action-bar a { color:#d8efff; text-decoration:none; padding:.8rem .4rem; font-weight:600; }
@media (min-width: 961px) { .mobile-action-bar { display:none; } }
.hero-ripple::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 20% 20%, rgba(108,210,255,.15), transparent 45%), radial-gradient(circle at 80% 70%, rgba(69,143,190,.14), transparent 50%); animation:rippleMove 9s linear infinite alternate; }
@keyframes rippleMove { from { transform:translateY(0); } to { transform:translateY(-18px); } }
.blueprint-bg { position:relative; }
.blueprint-bg::after { content:''; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(120,180,220,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(120,180,220,.08) 1px, transparent 1px); background-size:26px 26px; opacity:.35; }
.reveal-on-scroll { opacity:1; transform:none; }

@media (max-width: 960px) {
  .mobile-action-bar {
    min-height: 4.5rem;
    padding-bottom: env(safe-area-inset-bottom);
  }

  body:has(.mobile-action-bar),
  .authority-page:has(.mobile-action-bar) {
    padding-bottom: max(5.5rem, calc(4.5rem + env(safe-area-inset-bottom)));
  }
}
