#bio,#publications,#journals,#books,#support,#contacts{scroll-margin-top:88px}

.nav-in{gap:28px}
.links{align-items:center;gap:20px}
.links a{white-space:nowrap}
.menu-toggle{display:none}

.contacts-section{background:var(--wine);color:var(--paper)}
.contacts-section .num{color:var(--stone)}
.contact-intro{max-width:760px;margin:-28px 0 44px;font-family:Georgia,serif;font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.45;color:rgba(238,233,223,.82)}
.contact-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(238,233,223,.28)}
.contact-link{display:flex;min-width:0;min-height:150px;padding:26px 24px;border-right:1px solid rgba(238,233,223,.28);flex-direction:column;justify-content:space-between;gap:22px;transition:background .2s ease}
.contact-link:last-child{border-right:0}
.contact-link:hover{background:rgba(238,233,223,.08)}
.contact-link:focus-visible{outline:2px solid var(--stone);outline-offset:-5px}
.contact-label{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}
.contact-value{display:flex;justify-content:space-between;align-items:end;gap:18px;font-family:Georgia,serif;font-size:clamp(1.1rem,2vw,1.55rem);line-height:1.2;overflow-wrap:anywhere}
.contact-arrow{flex:none;color:var(--stone)}

@media(max-width:1080px){
  .links{gap:14px;font-size:.78rem}
}

@media(max-width:900px){
  .nav-in{position:relative}
  .menu-toggle{display:grid;width:44px;height:44px;padding:11px;border:1px solid var(--line);background:transparent;color:var(--wine);place-content:center;gap:5px;cursor:pointer}
  .menu-toggle span{display:block;width:20px;height:1.5px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
  .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.25px) rotate(45deg)}
  .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
  .links{display:none;position:absolute;top:72px;left:-20px;right:-20px;padding:12px 20px 22px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 34px rgba(74,32,40,.12);flex-direction:column;align-items:stretch;gap:0}
  .links.is-open{display:flex}
  .links a{padding:14px 0;border-bottom:1px solid var(--line);font-size:1rem}
  .links a:last-child{border-bottom:0}
  body.menu-open{overflow:hidden}
  .contact-list{grid-template-columns:1fr}
  .contact-link{min-height:120px;border-right:0;border-bottom:1px solid rgba(238,233,223,.28)}
  .contact-link:last-child{border-bottom:0}
}

@media(prefers-reduced-motion:reduce){.menu-toggle span,.contact-link{transition:none}}
