/* Copper outline menu: visible fine lines, expanding ring, preserved close morph. */
html .site-header{z-index:1000!important;isolation:isolate}
html .site-header button.menu{--orb-fill:#102b30;--orb-line:#fbfaf7;position:relative;flex:0 0 108px;width:108px!important;min-width:108px!important;height:48px;min-height:48px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink)!important;overflow:visible;isolation:isolate}
html[data-theme="dark"] .site-header button.menu{--orb-fill:#f3efe6;--orb-line:#071417}
html .site-header button.menu .menu-label{position:absolute;left:0;top:50%;margin:0!important;display:block;font-size:16px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1;transform:translateY(-50%)!important;opacity:1;transition:opacity .25s ease,left .35s cubic-bezier(.16,1,.3,1)!important}
html .site-header button.menu .menu-orb{position:absolute;right:0;top:2px;display:block;width:44px;height:44px;margin:0!important;border-radius:50%;background:transparent;transform:none!important;isolation:isolate}
html .site-header button.menu .menu-orb i{position:absolute;left:13px;width:18px;height:1.5px;background:var(--accent);opacity:1;transform:scaleX(1);transition:transform .32s cubic-bezier(.16,1,.3,1),width .32s ease,left .32s ease,background-color .25s ease!important}
html .site-header button.menu .menu-orb i:first-child{top:18px}
html .site-header button.menu .menu-orb i:last-child{top:24px;width:12px;left:19px}
html .site-header button.menu:is(:hover,:focus-visible,[aria-expanded="true"]){background:transparent!important;box-shadow:none!important;color:var(--ink)!important}
html .site-header button.menu:is(:hover,:focus-visible,[aria-expanded="true"]) .menu-orb{transform:none!important;box-shadow:none}
html .site-header button.menu:is(:hover,:focus-visible,[aria-expanded="true"]) .menu-orb i{opacity:1;transform:scaleX(1);background:var(--orb-line);width:18px;left:13px}
html .site-header button.menu[aria-expanded="true"] .menu-label{opacity:0;left:-8px;pointer-events:none}
html .site-header button.menu[aria-expanded="true"] .menu-orb i:first-child{transform:translateY(3px) rotate(45deg)}
html .site-header button.menu[aria-expanded="true"] .menu-orb i:last-child{transform:translateY(-3px) rotate(-45deg)}
html .site-header button.menu:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:24px!important}
@media(max-width:600px){html .site-header button.menu{width:84px!important;min-width:84px!important;flex-basis:84px}html .site-header button.menu .menu-label{font-size:13px}html .site-header button.menu .menu-orb{right:-2px}}

@media(max-width:1700px){
 html .site-header nav.open{background:#fbfaf7!important;opacity:1!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;z-index:1001!important;border-top:1px solid var(--line)!important;box-shadow:0 18px 32px rgba(10,42,48,.13)!important;animation:sapio-menu-enter .22s cubic-bezier(.16,1,.3,1) both}
 html[data-theme="dark"] .site-header nav.open{background:#071417!important;box-shadow:0 18px 32px rgba(0,0,0,.35)!important}
 html .site-header nav.open a{position:relative;isolation:isolate;overflow:hidden;color:var(--ink)!important;transition:color .22s ease,background-color .22s ease,padding .22s ease,box-shadow .22s ease!important}
 html .site-header nav.open a::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,var(--accent-soft),transparent);opacity:0;transform:scaleX(.35);transform-origin:left center;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .2s ease}
 html .site-header nav.open a:is(:hover,:focus-visible){color:var(--accent)!important;padding-left:20px!important;box-shadow:inset 2px 0 var(--accent);background:var(--accent-soft)!important}
 html .site-header nav.open a:is(:hover,:focus-visible)::before{opacity:1;transform:scaleX(1)}
 html .site-header nav.open a[aria-current="page"]{color:var(--accent)!important;background:var(--accent-soft)!important;box-shadow:inset 2px 0 var(--accent)}
 html .site-header nav.open a:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
}

@keyframes sapio-menu-enter{from{transform:translateY(-7px)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html .site-header nav.open{animation:none!important}html .site-header nav.open a,html .site-header nav.open a::before,html .site-header button.menu,html .site-header button.menu span,html .site-header button.menu i{transition:none!important}}

/* Ring expands independently, so the menu strokes remain legible at rest. */
html .site-header button.menu .menu-orb::before{content:'';position:absolute;inset:0;z-index:-1;border:1px solid var(--accent);border-radius:50%;background:transparent;opacity:.75;transform:scale(.82);transition:transform .42s cubic-bezier(.16,1,.3,1),background-color .25s ease,opacity .25s ease,border-color .25s ease}
html .site-header button.menu:is(:hover,:focus-visible,[aria-expanded="true"]) .menu-orb::before{transform:scale(1);background:var(--orb-fill);border-color:var(--orb-fill);opacity:1}
@media(prefers-reduced-motion:reduce){html .site-header button.menu .menu-orb::before{transition:none!important}}
