/* Two levels: the page area remains visible; its sections follow beneath. */
html{scroll-padding-top:var(--raffa-anchor-offset,124px)}
.raffa-nav-target{scroll-margin-top:0!important}
.nav .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:54px 44px;align-items:center;column-gap:16px;row-gap:0;height:auto;min-height:108px;padding-top:8px}
.nav .mark{grid-column:1;grid-row:1;justify-self:start;font-size:clamp(24px,1.8vw,25.5px);min-width:0}
.nav .nav-controls{grid-column:3;grid-row:1;justify-self:end;margin-left:0;gap:8px}
.nav .menu-toggle{display:none}
.nav .nav-areas{position:static;inset:auto;grid-column:2;grid-row:1;display:grid;grid-template-columns:auto auto;align-items:center;gap:2px;justify-self:center;min-width:0;max-width:100%;width:max-content;margin:0;padding:4px;border:1px solid var(--rule-solid);border-radius:999px;background:var(--paper-2)}
.nav .nav-areas ul,.nav .nav-areas li{display:contents}
.nav .nav-areas a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 19px;border-radius:999px;white-space:nowrap;font-size:14px;font-weight:500;line-height:1.2;color:var(--muted);text-decoration:none!important;transition:background-color .16s ease,color .16s ease}
.nav .nav-areas a[aria-current=page]{background:#fff;color:#0e0e0e}
.nav #site-nav{position:static;inset:auto;grid-column:1/-1;grid-row:2;display:block;width:100%;padding:0;border:0;background:transparent}
.nav #site-nav ul{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(16px,2.4vw,30px);margin:0;padding:0;list-style:none;font-size:14px}
.nav #site-nav li{display:block;min-width:0}
.nav #site-nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:9px 3px;border-radius:4px;white-space:nowrap;font-size:14px;font-weight:500;line-height:1.2;color:var(--muted);text-decoration:none!important;transition:color .16s ease,background-color .16s ease}
.nav #site-nav a::after{content:'';position:absolute;left:3px;right:3px;bottom:5px;height:2px;background:currentColor;opacity:0}
.nav #site-nav a[aria-current=location]{color:var(--ink);font-weight:600}
.nav #site-nav a[aria-current=location]::after{opacity:1}
.nav .nav-areas a:focus-visible,.nav #site-nav a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media(hover:hover){
 .nav .nav-areas a:not([aria-current=page]):hover{background:var(--dark-3);color:var(--ink)}
 .nav #site-nav a:hover{color:var(--ink);background:rgba(255,255,255,.08)}
}
@media(max-width:800px){
 .nav .wrap{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:44px auto;min-height:0;padding-block:8px;column-gap:8px;row-gap:6px}
 .nav .mark{grid-column:1;grid-row:1;font-size:clamp(24px,1.8vw,25.5px)}
 .nav .nav-controls{grid-column:2;grid-row:1;gap:6px}
 .nav .language{gap:0}
 .nav .language button{min-width:36px;min-height:44px;font-size:13px}
 .nav .menu-toggle{display:block;min-height:44px;min-width:46px;font-size:13px}
 .nav .nav-areas{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;justify-self:stretch}
 .nav .nav-areas a{min-width:0;min-height:40px;padding:8px 9px;font-size:clamp(12px,3.5vw,14px)}
 .nav #site-nav{display:none;position:absolute;top:100%;left:0;right:0;bottom:auto;grid-area:auto;width:auto;padding:12px max(16px,calc((100vw - 1240px)/2)) 20px;background:var(--ground);border-bottom:1px solid var(--rule-solid);max-height:calc(100dvh - var(--raffa-header-height,118px));overflow-y:auto;overscroll-behavior:contain}
 .nav #site-nav.is-open{display:block}
 .nav #site-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:2px;width:100%;font-size:16px}
 .nav #site-nav a{min-height:44px;padding:11px 4px;font-size:16px}
 .nav #site-nav a::after{left:4px;right:4px}
}
@media(max-width:360px){.nav .mark{font-size:clamp(24px,1.8vw,25.5px)}.nav .nav-controls{gap:2px}.nav .nav-areas a{padding-inline:7px}}
@media(prefers-reduced-motion:reduce){.nav .nav-areas a,.nav #site-nav a{transition:none}}

html.is-changing-language,html.is-changing-language *{overflow-anchor:none!important}

/* Single-page navigation: no links to the original portfolio. */
.nav .wrap{grid-template-columns:auto 1fr auto;grid-template-rows:60px;min-height:60px;padding-top:0}
.nav #site-nav{grid-column:2;grid-row:1}
@media(max-width:800px){
 .nav .wrap{grid-template-columns:1fr auto;grid-template-rows:60px;padding-block:0}
 .nav .nav-controls{grid-column:2}
 .nav #site-nav{grid-area:auto}
}
