/* A shared contact disclosure below the opaque navigation header. */
.contact-toggle{display:inline-flex;align-items:center;gap:9px;min-height:32px;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;line-height:inherit;cursor:pointer}@media(hover:hover) and (pointer:fine){header nav .contact-toggle:hover{text-decoration:underline;text-underline-offset:7px}}.contact-toggle[aria-expanded="true"]{text-decoration:underline;text-underline-offset:7px}
.contact-toggle:focus-visible,.contact-panel-close:focus-visible,.contact-method:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.contact-panel[hidden],.contact-backdrop[hidden]{display:none!important}.contact-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:100vw;max-height:calc(100dvh - 95px);overflow:auto;background:#fff;color:var(--ink);border-top:1px solid var(--line);box-shadow:0 18px 25px #182c3c0a;text-align:left}.contact-panel-inner{max-width:1560px;margin:0 auto;padding:36px 5.5vw 45px}.contact-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:30px}.contact-panel-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:none;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);cursor:pointer}.contact-panel-close:hover{border-color:var(--ink)}
.contact-methods{display:grid;grid-template-columns:1.1fr .75fr 1fr;gap:clamp(25px,4vw,65px)}.contact-method{display:flex;flex-direction:column;min-width:0;gap:12px;padding:21px 0 6px;border-top:1px solid var(--line);text-decoration:none}.contact-method-label{font-size:13px;line-height:1.4;color:var(--muted)}.contact-method-value{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:clamp(16px,1.5vw,22px);font-weight:400;line-height:1.5;letter-spacing:-.025em;overflow-wrap:anywhere}.contact-method-value svg{flex:none}.contact-method:hover .contact-method-value{text-decoration:underline;text-underline-offset:5px}
.contact-backdrop{position:fixed;inset:0;z-index:90;background:#182c3c2b;border:0;border-radius:0;padding:0;cursor:default}.contact-menu-open{overflow:hidden}.home-cta button.home-cta-button{font-family:var(--body);font-size:15px;line-height:1.4;cursor:pointer}
@media(max-width:800px){.contact-panel-inner{padding:28px 6vw 32px}.contact-panel-heading{margin-bottom:20px}.contact-methods{grid-template-columns:1fr;gap:18px}.contact-method{gap:7px;padding-top:15px}.contact-method-value{font-size:20px}.contact-panel{max-height:calc(100dvh - 73px)}.contact-toggle{gap:6px}}


/* Centre the close control below the contact links. */
.contact-panel-heading{justify-content:center;margin:26px 0 0}

.about-page .bio-panel .about-title,
.about-page .resume-heading h2,
.contact-panel-title {
  font-family: var(--display);
  font-size: clamp(35px, 3.5vw, 50px);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.05em;
  max-width: none;
}

.contact-panel-title {
  margin: 0 0 30px;
}

@media (max-width: 700px) {
  .about-page .bio-panel .about-title,
  .about-page .resume-heading h2,
  .contact-panel-title {
    font-size: 34px;
  }

  .contact-panel-title {
    margin-bottom: 20px;
  }
}
