/* Use the area-page palette, including its existing day/night variants. */
#main .ng-picker {color:var(--pr-ink);background:var(--pr-paper)}
#main .ng-head {
  display:flex;justify-content:space-between;align-items:center;gap:1rem;
  padding:clamp(16px,2.4vw,34px) var(--pr-gutter);
  background:var(--pr-mist);border-bottom:1px solid var(--pr-line);
}
#main .ng-head h1 {
  color:var(--pr-ink);margin:0 0 .28rem;font-size:clamp(1.5rem,3.2vw,2.75rem);
  line-height:1.3;font-weight:700;text-wrap:balance;
}
#main .ng-head p {margin:0;font-size:clamp(.87rem,1.35vw,1rem);color:var(--pr-muted);line-height:1.65}
#main .ng-head p.ng-lineage {color:var(--pr-link);font-size:.84rem;font-weight:700;margin-bottom:.35rem}
#main .ng-art {flex:0 0 clamp(84px,15vw,170px);aspect-ratio:1.85;overflow:hidden;border-radius:3px 15px 3px 3px}
#main .ng-art img {display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
#main .ng-map {padding:clamp(16px,2.5vw,36px) var(--pr-gutter) clamp(20px,3vw,42px);min-width:0}
#main .ng-map h2 {font-size:clamp(1.15rem,2.3vw,1.7rem);color:var(--pr-ink);line-height:1.4;margin:0 0 .75rem}
#main .ng-direct {
  margin:0 0 1.35rem;padding:0;background:var(--pr-panel);border:1px solid var(--pr-line);
  border-radius:4px;box-shadow:none;
}
#main .ng-direct summary,#main .ng-reading summary {
  display:list-item;cursor:pointer;color:var(--pr-link);font-weight:700;font-size:.92rem;
  padding:.8rem 1rem;line-height:1.5;min-height:48px;align-content:center;
}
#main .ng-direct summary::marker,#main .ng-reading summary::marker {color:var(--pr-link)}
#main .ng-direct-body {padding:.2rem 1rem 1rem}
#main .ng-find:not([hidden]) {display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;font-size:.87rem;font-weight:700}
#main .ng-find input {
  display:block;min-height:44px;max-width:100%;width:16rem;padding:.45rem .7rem;
  font:inherit;color:var(--pr-ink);background:var(--pr-paper);border:1px solid var(--pr-rule);border-radius:3px
}
#main .ng-map [hidden] {display:none!important}
#main .ng-none {margin:.6rem 0 0;color:var(--pr-muted)}
#main .ng-office {margin:0 0 1.15rem;min-width:0}
#main .ng-office-title,#main .ng-group h3 {
  color:var(--pr-link);font-size:1rem;line-height:1.5;
  margin:0 0 .4rem;padding-inline-start:.55rem;border-inline-start:3px solid var(--pr-rule);
}
#main .ng-zones,#main .ng-places {list-style:none;margin:0;padding:0;display:grid;gap:0 1rem;grid-template-columns:repeat(3,minmax(0,1fr))}
#main .ng-zones {gap:.45rem .6rem}
#main .ng-zones li,#main .ng-places li {list-style:none;margin:0;padding:0;min-width:0}
#main a.ng-zone-link {
  position:relative;height:100%;display:grid;align-content:center;gap:.13rem;
  min-height:64px;padding:.55rem 1.8rem .55rem .85rem;border:1px solid var(--pr-line);
  border-radius:4px;background:var(--pr-panel);color:var(--pr-link);text-decoration:none;line-height:1.5
}
#main .ng-zone-link strong {font-size:1rem}
#main .ng-zone-link small {color:var(--pr-muted);font-size:.77rem}
#main .ng-zone-link i {position:absolute;inset-inline-end:.65rem;top:50%;transform:translateY(-50%)}
#main .ng-places {margin:.25rem 0 .65rem}
#main .ng-places li {border-bottom:1px solid var(--pr-line)}
#main .ng-places a {
  display:flex;align-items:center;justify-content:space-between;gap:.35rem;min-height:48px;
  height:100%;padding:.5rem .15rem;text-decoration:none;color:var(--pr-link);line-height:1.6
}
#main .ng-places a span {white-space:nowrap;font-size:.78rem;color:var(--pr-muted)}
#main .ng-map i {font-style:normal;font-size:1.13rem;line-height:1;color:var(--pr-link)}
#main .ng-map a:hover strong {text-decoration:underline;text-underline-offset:.17em}
#main .ng-picker :is(a,summary,input):focus-visible,#main .ng-reading summary:focus-visible {outline:3px solid var(--pr-link);outline-offset:2px}
#main .ng-group {margin:1.25rem 0}
#main .ng-source {font-size:.77rem;line-height:1.5;margin:.9rem 0 .15rem;color:var(--pr-muted)}
#main .ng-back {display:inline-flex;align-items:center;color:var(--pr-link);min-height:44px;text-underline-offset:.2em;font-weight:700;font-size:.89rem}
#main .ng-consult {margin-top:.65rem}
#main .ng-reading {margin:0;border:0;border-block-start:1px solid var(--pr-line);border-radius:0;padding:0;background:var(--pr-paper);box-shadow:none}
#main .ng-reading summary {padding:.85rem var(--pr-gutter)}
@media(max-width:850px) {
  #main .ng-zones,#main .ng-places {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px) {
  #main .ng-head {gap:.65rem;padding-block:16px;}
  #main .ng-art {flex:0 0 70px;aspect-ratio:1.1}
  #main .ng-direct {margin-bottom:1rem}
  #main .ng-direct-body {padding-inline:.7rem}
  #main .ng-map {padding-block:15px 20px}
  #main .ng-zones {gap:.35rem}
  #main a.ng-zone-link {padding:.42rem 1.12rem .42rem .52rem;min-height:60px}
  #main .ng-zone-link i {inset-inline-end:.38rem}
  #main .ng-zone-link small {font-size:.72rem}
  #main .ng-places {gap:0 .75rem}
  #main .ng-places a {flex-wrap:wrap;align-content:center;gap:0 .25rem}
}
@media(max-width:360px) {
  #main .ng-places {grid-template-columns:minmax(0,1fr)}
}
