.nav-group { position: relative; }
.nav-group summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; min-height: 48px; font-size: 14px; font-weight: 650; }
.nav-group summary::-webkit-details-marker { display: none; }
.nav-group summary.is-current { text-decoration: underline; text-underline-offset: 8px; }
.nav-group[open] summary > span { transform: rotate(180deg); }
.desktop-nav .nav-submenu { position: absolute; top: 100%; right: 0; min-width: 230px; padding: 12px; background: var(--paper); border: 1px solid var(--border); box-shadow: 0 12px 24px rgb(0 0 0 / .08); }
.desktop-nav .nav-submenu a { display: flex; align-items: center; min-height: 48px; padding: 8px 14px; font-size: 15px; }
.nav-submenu a:hover, .nav-submenu a:focus-visible { background: var(--surface); }
.mobile-panel .nav-group { border-bottom: 1px solid var(--border); }
.mobile-panel .nav-group summary { justify-content: space-between; padding: 12px 0; font-size: 20px; }
.mobile-panel .nav-submenu { padding: 0 0 12px 16px; }
.mobile-panel .nav-submenu a { min-height: 48px; padding: 8px 0; font-size: 16px; border: 0; }
h1, h2, h3, h4, p, li, summary { overflow-wrap: break-word; }
.doctor-philosophy-areas { display: grid; gap: 28px; margin-top: 32px; }
.doctor-philosophy-areas h3 { font-size: 20px; margin-bottom: 12px; }
.doctor-philosophy-areas p { font-size: 16px; line-height: 1.8; color: var(--muted); }
