/* One stable navigation geometry for the three facets. */
:root{--shell-accent:#c9e78f;--shell-gutter:clamp(22px,5vw,96px);--header-offset:116px}
.site-header{position:fixed;inset:24px var(--shell-gutter) auto;z-index:60;max-width:1940px;height:76px;margin-inline:auto;padding:0 18px 0 23px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;border:1px solid #e8f8c62a;border-radius:22px;background:#1e271de8;box-shadow:inset 0 1px #ffffff0d,0 14px 40px #0002;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transform:none;view-transition-name:site-header}
.site-header .wordmark{display:inline-flex;align-items:center;width:fit-content;gap:0;padding:0;margin:0;font:650 20px/1 Portfolio,Arial,sans-serif;letter-spacing:-.7px;color:#f2f3e9;white-space:nowrap}
.site-domain{color:#a9b89c}
.site-header .site-nav{display:grid;grid-template-columns:65px 85px 145px;align-items:center;gap:10px;margin:0;padding:0}
.site-header .site-nav>a{position:relative;display:grid;place-items:center;min-height:40px;padding:10px 0;color:#b5c1a9;font:450 12px/1.3 Portfolio,Arial,sans-serif;text-align:center;white-space:nowrap;transition:color .2s}
.site-header .site-nav>a:hover,.site-header .site-nav>a[aria-current=page]{color:#e0eccb}
.site-nav-indicator{position:absolute;bottom:2px;left:calc(50% - 10px);width:20px;height:2px;border-radius:2px;background:var(--shell-accent);view-transition-name:site-active-link}
.site-actions{justify-self:end;display:flex;align-items:center;gap:12px}
.site-header .site-language{display:grid;place-items:center;min-width:32px;min-height:38px;padding:0;border:0;border-radius:6px;background:none;color:#bccbab;font:500 10px/1 Portfolio,Arial,sans-serif;letter-spacing:1px}
.site-header .site-contact{display:flex;align-items:center;justify-content:space-between;gap:14px;width:112px;min-height:46px;padding:12px 14px;border:1px solid #d5e8b72b;border-radius:12px;background:#d6e8ae0b;color:#e0e9d5;font:450 11px/1.3 Portfolio,Arial,sans-serif;white-space:nowrap;transition:background .25s,border-color .25s}
.site-contact>span{font-size:18px;color:var(--shell-accent)}
.site-header .site-contact:hover{background:#cde7ac15;border-color:#cde7ac66}
.site-header a:focus-visible{outline:2px solid var(--shell-accent);outline-offset:4px}
.skip-link{z-index:1000}
.performance-lite .site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#20271ef5}
@media(max-width:900px) and (min-width:761px){.site-header{gap:12px;padding-inline:16px}.site-header .site-nav{grid-template-columns:55px 70px 120px;gap:5px}.site-header .site-nav>a{font-size:11px}.site-header .wordmark{font-size:18px}.site-actions{gap:6px}.site-header .site-contact{width:99px}}
@media(max-width:760px){
  :root{--shell-gutter:17px;--header-offset:122px}
  .site-header{top:14px;height:92px;padding:10px 13px 6px;grid-template-columns:1fr auto;grid-template-rows:36px 34px;gap:3px 10px;border-radius:17px;backdrop-filter:none;-webkit-backdrop-filter:none;background:#20271ef5}
  .site-header .wordmark{font-size:18px;letter-spacing:-.65px}
  .site-actions{grid-column:2;grid-row:1;gap:5px}
  .site-header .site-language{min-width:27px;min-height:34px;font-size:9px}
  .site-header .site-contact{width:90px;min-height:34px;padding:7px 9px;border-radius:9px;font-size:10px;gap:8px}
  .site-contact>span{font-size:15px}
  .site-header .site-nav{grid-column:1/-1;grid-row:2;grid-template-columns:1fr 1fr 1.7fr;gap:4px;width:100%;border-top:1px solid #b6c5a515;padding-top:2px}
  .site-header .site-nav>a{min-height:31px;padding:5px 0;font-size:10px}
  .site-nav-indicator{bottom:0;height:1px}
  html{scroll-padding-top:125px}
}
@media(max-width:370px){.site-header{padding-inline:11px;column-gap:5px}.site-header .wordmark{font-size:16px}.site-header .site-nav>a{font-size:10px}}
@media(prefers-reduced-transparency:reduce){.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:#20271e}}
@media print{.site-header{display:none!important}}
.cv-print-preview .site-header{display:none!important}

/* Native document transitions retain navigation while the page changes. */
@view-transition{navigation:auto}
::view-transition-group(site-header){animation:none}
::view-transition-old(site-header),::view-transition-new(site-header){animation:none;mix-blend-mode:normal}
::view-transition-group(site-active-link){animation-duration:.36s;animation-timing-function:cubic-bezier(.22,.75,.25,1)}
::view-transition-old(root){animation:site-page-out .18s ease both;mix-blend-mode:normal}
::view-transition-new(root){animation:site-page-in .38s cubic-bezier(.22,.75,.25,1) both;mix-blend-mode:normal}
@keyframes site-page-out{to{opacity:0;transform:translateY(-7px)}}
@keyframes site-page-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.route-fallback-enter main{animation:site-page-in .38s cubic-bezier(.22,.75,.25,1) both}
@media(min-width:1025px),(min-width:761px) and (min-height:501px){.route-native .hero-copy,.route-native .hero-enter,.route-native .hero [data-reveal],.route-native .hero .type-word,.route-native .entry-name,.route-native .entry-surname,.route-native .entry-path,.route-native .entry-path h2{animation:none!important;opacity:1!important;translate:none!important;transform:none!important;filter:none!important;transition:none!important}}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:1ms!important}.route-fallback-enter main{animation:none}.site-header a{transition:none!important}}
