/* Shared navigation across the personal site. */
html{scroll-padding-top:130px}.site-header{isolation:isolate;gap:25px}.site-header .brand{flex-shrink:0}.site-header .nav{position:static;display:flex;align-items:center;gap:25px;padding:0;background:transparent;border:0;font-size:13px;font-weight:700}.nav-start{display:flex;gap:25px;align-items:center}.site-header .nav a,.nav-group-toggle{transition:background .15s,color .15s}.site-header .nav a:hover,.nav-group-toggle:hover{color:#76232f}.site-header .nav a[aria-current="page"]{color:#76232f;border-bottom:2px solid #76232f}.site-header :is(a,button):focus-visible{outline:3px solid #76232f;outline-offset:5px}.nav-group{position:relative}.nav-group-toggle{border:0;background:transparent;padding:16px 0;font:inherit;display:flex;gap:8px;align-items:center;color:#0d1b2e}.nav-group-toggle[aria-expanded="true"]{color:#76232f}.nav-group-toggle span{font-size:16px;transition:transform .15s}.nav-group-toggle[aria-expanded="true"] span{transform:rotate(180deg)}.nav-submenu{display:none;position:absolute;top:calc(100% + 4px);left:-22px;width:300px;padding:10px;background:#fffdf7;border:1px solid #0d1b2e24;border-top:4px solid #e7bd4a;box-shadow:5px 7px 0 #0d1b2e14;border-radius:0 0 12px 12px}.nav-group.is-open .nav-submenu{display:block}.site-header .nav-submenu a{display:block;padding:13px 12px;border-radius:6px;line-height:1.45;font-size:13px}.site-header .nav-submenu a:hover{background:#f2e6d0;color:#76232f}.nav-submenu a span{display:block;font-weight:400;font-size:11px;color:#5a606a;margin-top:3px}.site-header .contact-nav{display:block;border:1px solid #76232f;background:#76232f;color:#fffdf7;padding:12px 17px;border-radius:30px;white-space:nowrap}.site-header .contact-nav:hover{background:#0d1b2e;color:white}.contact-nav small,.nav-section-label,.mobile-nav-actions{display:none}section[id],.hero[id]{scroll-margin-top:125px}
@media(max-width:1100px){.site-header .nav,.nav-start{gap:18px}.site-header .brand-primary{width:180px}}
@media(max-width:1000px){.site-header{height:88px;padding-inline:4%;gap:12px}.site-header .brand-primary{width:165px;height:80px}.mobile-nav-actions{display:flex;gap:10px;align-items:center;flex-shrink:0}.mobile-home{font-size:12px;font-weight:700;color:#0d1b2e;padding:10px 7px}.site-header .menu{display:flex;align-items:center;gap:13px;border:1px solid #0d1b2e;background:#fffdf7;color:#0d1b2e;padding:10px 14px;border-radius:25px;font-size:12px;font-weight:700;min-height:44px}.menu-symbol{font-size:19px;line-height:1}.site-header .menu[aria-expanded="true"]{background:#0d1b2e;color:white}.site-header .nav{display:none;position:absolute;top:88px;left:0;right:0;align-items:stretch;background:#fffdf7;border-bottom:2px solid #0d1b2e;padding:22px 6% 30px;gap:20px;max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 12px 22px #0d1b2e15}.site-header .nav.open{display:grid;grid-template-columns:1fr 1fr;column-gap:30px}.nav-start{display:block}.nav-section-label{display:block;font-size:10px;letter-spacing:1.5px;color:#76232f;margin:0 0 10px;font-weight:700}.site-header .nav-start>a{display:block;font-size:18px;padding:10px 0;width:fit-content;line-height:1.4}.nav-group-toggle{display:none}.nav-submenu,.nav-group.is-open .nav-submenu{display:block;position:static;width:auto;border:0;padding:0;box-shadow:none;border-radius:0;background:transparent}.site-header .nav-submenu a{padding:10px 0;font-size:15px;line-height:1.4;border-radius:0}.nav-submenu a span{font-size:11px;margin-top:3px}.site-header .contact-nav{font-size:16px;padding:15px 20px;border-radius:12px;white-space:normal}.contact-nav small{display:block;font-size:11px;font-weight:400;margin-top:4px}.site-header .nav a[aria-current="page"]{border-bottom:2px solid #76232f}html{scroll-padding-top:108px}section[id],.hero[id]{scroll-margin-top:105px}}
@media(max-width:600px){.site-header .nav.open{grid-template-columns:1fr;gap:20px}.site-header .nav-start{border-bottom:1px solid #0d1b2e24;padding-bottom:14px;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.nav-start .nav-section-label{grid-column:1/-1}.site-header .nav-submenu a{font-size:16px;padding:10px 0}.site-header .nav{padding:20px 7% max(25px,env(safe-area-inset-bottom))}.site-header .brand-mobile{width:42px;height:56px}.site-header .brand-mobile-name{font-size:13px}.mobile-nav-actions{gap:5px}.site-header .menu{padding:9px 12px;gap:9px}.site-header .brand{gap:6px}}
@media(prefers-reduced-motion:reduce){.site-header *{transition:none!important}}
@media(min-width:1001px){#voice-navigation{left:auto;right:-22px}}
