/* Shared navigation for independent atlas pages. */
.atlas-multipage .studio-nav { display: none; }
.atlas-tabs-wrap { position: sticky; top: 84px; z-index: 90; border-bottom: 1px solid #d6e4db; background: rgba(255,255,255,.98); box-shadow: 0 9px 22px rgba(0,77,72,.045); }
.atlas-tabs { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 5px; max-width: 1580px; margin: auto; padding: 9px clamp(12px,2.4vw,32px); }
.atlas-tabs a { display: inline-flex; align-items: center; gap: 5px; flex: none; padding: 5px 10px; border: 1px solid transparent; border-radius: 9px; color: #536b60; text-decoration: none; white-space: nowrap; font-size: 12px; font-weight: 700; line-height: 1.6; transition: background .18s,border-color .18s,color .18s; }
.atlas-tabs a:hover { border-color: #bdd9c8; color: #005e58; background: #f2f8f4; }
.atlas-tabs a[aria-current="page"] { border-color: #006d67; color: #fff; background: #006d67; }
.atlas-tabs a:focus-visible,.directory-card:focus-visible { outline: 3px solid #caa35e; outline-offset: 3px; }
.atlas-task-menu { display: none; }
.atlas-tabs .atlas-icon { width: 15px; height: 15px; flex: none; transition: transform .18s; }
.atlas-tabs a:hover .atlas-icon { transform: translateY(-2px); }
.atlas-tab-index { color: #a98445; font-size: 9px; font-weight: 700; direction: ltr; }
.atlas-tabs a[aria-current="page"] .atlas-tab-index { color: #eee0c7; }
.atlas-tabs-hint { display: none; }
.page-shell { display: block; min-height: calc(100vh - 150px); }
.page-shell .section { max-width: 1480px; padding-top: clamp(48px,5vw,72px); }
.page-shell .soft-section { max-width: none; }
.page-shell .hero { padding-top: 55px; }
.page-shell .site-footer { max-width: none; }
.page-shell .section,.atlas-multipage .studio-section { scroll-margin-top: 165px; }
.page-directory { padding-top: 30px !important; }
.directory-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.directory-card { --card-accent: #006d67; --icon-bg: #e4f3ec; position: relative; display: flex; flex-direction: column; min-height: 192px; padding: 19px; overflow: hidden; border: 1px solid #d7e6dc; border-top: 3px solid var(--card-accent); border-radius: 14px; color: #34423e; background: linear-gradient(155deg,#fff,#f4f9f5); text-decoration: none; transition: transform .18s,border-color .18s,box-shadow .18s; }
.directory-card:nth-child(4n + 2) { --card-accent: #a98445; --icon-bg: #f8eedb; background: linear-gradient(155deg,#fff,#fbf8f1); }
.directory-card:nth-child(4n + 3) { --card-accent: #397b8b; --icon-bg: #e7f3f5; background: linear-gradient(155deg,#fff,#f2f9fa); }
.directory-card:nth-child(4n + 4) { --card-accent: #6a8a61; --icon-bg: #edf4e9; background: linear-gradient(155deg,#fff,#f7faf4); }
.directory-card::after { content: ""; position: absolute; width: 120px; height: 120px; top: -45px; left: -45px; border-radius: 50%; background: var(--icon-bg); opacity: .55; transition: transform .25s,opacity .25s; pointer-events: none; }
.directory-card:hover::after { transform: scale(1.35); opacity: .9; }
.directory-card:hover { transform: translateY(-3px); border-color: #89b6a1; box-shadow: 0 12px 28px rgba(0,77,72,.09); color: #34423e; }
.directory-card > * { position: relative; z-index: 1; }
.directory-card .directory-icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: 7px; border: 1px solid color-mix(in srgb,var(--card-accent) 25%,white); border-radius: 12px; color: var(--card-accent); background: var(--icon-bg); transition: transform .18s,background .18s; }
.directory-card:hover .directory-icon { transform: rotate(-6deg) scale(1.08); background: #fff; }
.directory-icon .atlas-icon { width: 23px; height: 23px; }
.directory-card > span { color: #795a2d; font-size: 12px; font-weight: 700; }
.directory-card h3 { margin: 8px 0 4px; color: #005e58; font-size: 18px; }
.directory-card p { flex: 1; margin: 0 0 10px; color: #526a5d; font-size: 14px; line-height: 1.7; }
.directory-card b { color: #006d67; font-size: 12px; }
.page-bridge { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 18px; max-width: 1350px; margin: 28px auto 0; padding: 18px 24px; border-right: 4px solid #a98445; border-radius: 12px; background: #f8f6ef; color: #40554b; }
.page-bridge strong { color: #005e58; font-size: 15px; }
.page-bridge p { flex: 1 1 420px; margin: 0; font-size: 14px; }
.page-bridge a { font-size: 12px; font-weight: 700; white-space: nowrap; }
.card-topline { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.card-symbol { display: grid; flex: none; place-items: center; width: 38px; height: 38px; border: 1px solid #cbe4d9; border-radius: 11px; color: #006d67; background: #edf7f2; transition: transform .18s,background .18s; }
.card-symbol .atlas-icon { width: 21px; height: 21px; }
.mandate-card:hover .card-symbol,.law-card:hover .card-symbol,.service-card:hover .card-symbol,.product-card:hover .card-symbol,.metric-card:hover .card-symbol { transform: translateY(-2px) rotate(-4deg); background: #fff; }
.card-seq { color: #a98445; font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.card-topline .card-label,.card-topline .metric-category,.card-topline .service-status { margin-bottom: 0; }
body[data-page="laws"] .card-symbol { color: #9a7337; border-color: #ead9ba; background: #fcf7eb; }
body[data-page="digital"] .card-symbol { color: #397b8b; border-color: #cde4e9; background: #eff8fa; }
body[data-page="metrics"] .card-symbol { color: #9a7337; border-color: #ead9ba; background: #fcf7eb; }
.metric-filter { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 20px; }
.metric-filter button { padding: 8px 14px; border: 1px solid #bfd5c6; border-radius: 10px; color: #005e58; background: #fff; font-size: 12px; font-weight: 700; }
.metric-filter button:hover { background: #edf5ef; }
.metric-filter button[aria-pressed="true"] { border-color: #006d67; color: #fff; background: #006d67; }
.metric-card { border-top: 3px solid #a98445; }
.metric-card .metric-category { display: inline-block; margin-bottom: 9px; padding: 2px 8px; border-radius: 5px; color: #745724; background: #f8f0e3; font-size: 12px; font-weight: 700; }
.metric-card .metric-name { display: block; color: #526a5e; }
.metric-card p { color: #61736a; }
@media(max-width:1280px) { .directory-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media(min-width:901px) and (max-width:1580px) {
  .atlas-tabs { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); max-width: 1480px; }
  .atlas-tabs a { justify-content: center; padding-inline: 5px; font-size: 11px; }
}
@media(max-width:900px) {
  .atlas-tabs-wrap { top: 72px; }
  .atlas-tabs,.atlas-tabs-hint { display: none; }
  .atlas-task-menu { display: block; position: relative; }
  .atlas-task-menu > summary { display: flex; align-items: center; justify-content: space-between; gap: 11px; min-height: 46px; padding: 8px 17px; color: #005e58; background: #fff; font-size: 13px; font-weight: 800; cursor: pointer; list-style: none; }
  .atlas-task-menu > summary::-webkit-details-marker { display: none; }
  .atlas-task-menu > summary strong { font-size: 14px; }
  .atlas-task-menu > summary span { flex: none; color: #745724; font-size: 16px; transition: transform .18s; }
  .atlas-task-menu[open] > summary span { transform: rotate(180deg); }
  .atlas-task-menu > summary:focus-visible,.atlas-task-groups a:focus-visible { outline: 3px solid #a98445; outline-offset: -3px; }
  .atlas-task-groups { position: absolute; z-index: 95; inset-inline: 0; top: 100%; display: grid; gap: 15px; max-height: min(70dvh,610px); overflow-y: auto; padding: 16px; border: 1px solid #d6e4db; border-top: 0; border-radius: 0 0 16px 16px; background: #fff; box-shadow: 0 20px 42px rgba(0,57,50,.16); }
  .atlas-task-groups > section { min-width: 0; }
  .atlas-task-groups > section > h2 { margin: 0 0 7px; color: #745724; font-size: 12px; line-height: 1.5; }
  .atlas-task-groups > section > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .atlas-task-groups a { display: flex; align-items: center; gap: 8px; min-height: 43px; padding: 8px 10px; border: 1px solid #d9e8de; border-radius: 9px; color: #245c51; background: #f8fbf8; text-decoration: none; font-size: 12px; font-weight: 700; line-height: 1.5; }
  .atlas-task-groups a[aria-current="page"] { border-color: #006d67; color: #fff; background: #006d67; }
  .atlas-task-groups .atlas-icon { width: 16px; height: 16px; flex: none; }
  .directory-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .page-shell .section,.atlas-multipage .studio-section { scroll-margin-top: 125px; }
}
@media(max-width:650px) {
  .atlas-task-groups > section > div { grid-template-columns: 1fr; }
  .directory-grid { grid-template-columns: 1fr; }
  .directory-card { min-height: 146px; }
  .page-shell .section { padding-top: 42px; }
  .page-bridge { margin: 18px 17px 0; padding: 15px 18px; }
  .audience-tabs { flex-wrap: wrap; overflow: visible; padding-bottom: 0; }
  .audience-tabs button { flex: 1 1 auto; }
}
@media(prefers-reduced-motion:reduce) {
  .atlas-tabs .atlas-icon,.directory-card,.directory-card::after,.directory-card .directory-icon,.card-symbol { transition: none; }
}
