/* Restrained light: shape-anchored soft shadows, animated only through opacity. */
.project-link,.pink-pill,.contact-button{position:relative;isolation:isolate;overflow:visible}
.project-link:before,.pink-pill:before,.contact-button:before{content:'';position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;box-shadow:0 0 19px 3px rgb(var(--pf-d4bc8a,212 188 138) / 0.2196),0 5px 36px 9px rgb(var(--pf-82947b,130 148 123) / 0.149);background:transparent;opacity:.38;transform:none;animation:pf-breathe 5.6s ease-in-out infinite;animation-play-state:paused}
.glow-visible:before{animation-play-state:running}.project-link:before{box-shadow:0 0 14px 2px rgb(var(--pf-d4bc8a,212 188 138) / 0.1961),0 4px 25px 6px rgb(var(--pf-82947b,130 148 123) / 0.1098)}.pink-pill:hover,.contact-button:hover{box-shadow:0 7px 25px rgb(var(--pf-d4bc8a,212 188 138) / 0.251),0 4px 35px rgb(var(--pf-82947b,130 148 123) / 0.1255)}.project-link:hover{box-shadow:0 4px 22px rgb(var(--pf-d4bc8a,212 188 138) / 0.2078)}.page-asleep .glow-visible:before,.navigation-open main .glow-visible:before{animation-play-state:paused}
@keyframes pf-breathe{0%,100%{opacity:.35}50%{opacity:.8}}
/* The actual header moves into the modal top layer, retaining its fixed position. */
html.navigation-open{overflow:hidden}html.navigation-open body{overflow:hidden;overscroll-behavior:none}
#menu.cinematic-menu>.header{position:fixed!important;inset:0 0 auto!important;width:100%;z-index:3;min-height:calc(88px + env(safe-area-inset-top,0px));padding:calc(17px + env(safe-area-inset-top,0px)) 3.5% 17px;transform:none!important;filter:none!important;background:rgb(var(--pf-102d26,16 45 38) / 0.949);border-bottom:1px solid rgb(var(--pf-c8c8b0,200 200 176) / 0.098);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.header .menu-button{position:relative;display:block;flex-shrink:0;padding:0!important;transform:none!important;transition:background-color .25s,border-color .25s,box-shadow .25s!important;overflow:hidden;isolation:isolate}.header .menu-button i{position:absolute;left:calc(50% - 10px);top:calc(50% - 1px);width:20px;height:2px;margin:0;background:rgb(var(--pf-f1e6d2,241 230 210));border-radius:2px;transform-origin:center;transition:transform .42s cubic-bezier(.22,.75,.22,1)}.header .menu-button i:first-child{transform:translateY(-4px) rotate(0)}.header .menu-button i:last-child{transform:translateY(4px) rotate(0)}.header .menu-button[aria-expanded=true] i:first-child{transform:translateY(0) rotate(45deg)}.header .menu-button[aria-expanded=true] i:last-child{transform:translateY(0) rotate(-45deg)}.header .menu-button:hover{background:rgb(var(--pf-f1e6d2,241 230 210) / 0.0471);border-color:rgb(var(--pf-d4bc8a,212 188 138) / 0.4);box-shadow:0 0 18px rgb(var(--pf-d4bc8a,212 188 138) / 0.1098)!important}.header .menu-button:active{background:rgb(var(--pf-f1e6d2,241 230 210) / 0.0784)}
#menu.cinematic-menu{opacity:1!important}#menu.cinematic-menu:before{opacity:0;background:rgb(var(--pf-0b241e,11 36 30) / 0.549);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);transition:opacity .42s ease;will-change:auto}#menu.cinematic-menu[data-menu-state=open]:before{opacity:1}
#menu.cinematic-menu .menu-panel{top:calc(var(--navigation-height,88px) + 14px);right:max(3.5vw,env(safe-area-inset-right,0px));width:min(410px,calc(100vw - 28px));max-height:calc(100dvh - var(--navigation-height,88px) - 28px - env(safe-area-inset-bottom,0px));padding:26px;border-radius:26px;border:1px solid rgb(var(--pf-c8c8b0,200 200 176) / 0.2314);background:linear-gradient(145deg,rgb(var(--pf-173b32,23 59 50) / 0.9804),rgb(var(--pf-102d26,16 45 38) / 0.9882));box-shadow:0 24px 65px rgb(var(--pf-0b241e,11 36 30) / 0.302);opacity:0;transform:translate3d(calc(100% + 6vw),0,0);transition:transform .46s cubic-bezier(.22,.75,.22,1),opacity .32s ease;overflow:hidden}
#menu.cinematic-menu[data-menu-state=open] .menu-panel{opacity:1;transform:translate3d(0,0,0)}
#menu.cinematic-menu .dialog-top{min-height:48px;padding-bottom:22px;border-bottom:1px solid rgb(var(--pf-c8c8b0,200 200 176) / 0.1333);gap:0}#menu.cinematic-menu .menu-lockup{max-width:180px}#menu.cinematic-menu .menu-panel .close{display:none}#menu.cinematic-menu .menu-panel nav{display:grid;grid-template-columns:1fr;gap:7px;margin:20px 0 0}#menu.cinematic-menu .menu-panel nav a{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:50px;padding:12px 16px;border:1px solid transparent;border-radius:14px;background:transparent;font-size:22px;font-weight:700;letter-spacing:-.025em;line-height:1.15;opacity:0;transform:translate3d(0,10px,0);transition:opacity .16s ease,transform .25s ease,background-color .25s,border-color .25s;transition-delay:0ms}#menu.cinematic-menu[data-menu-state=open] nav a{opacity:1;transform:translate3d(0,0,0);transition-duration:.3s,.38s,.25s,.25s;transition-timing-function:ease,cubic-bezier(.22,.75,.22,1),ease,ease;transition-delay:calc(75ms + var(--menu-order)*30ms),calc(75ms + var(--menu-order)*30ms),0ms,0ms}#menu.cinematic-menu .menu-panel nav a:hover,#menu.cinematic-menu .menu-panel nav a:focus-visible{background:rgb(var(--pf-d4bc8a,212 188 138) / 0.0549);border-color:rgb(var(--pf-d4bc8a,212 188 138) / 0.1961);padding:12px 16px}#menu.cinematic-menu .menu-panel nav a[aria-current=page]{background:rgb(var(--pf-c8c8b0,200 200 176) / 0.0392);color:rgb(var(--pf-e6cc9d,230 204 157));-webkit-text-fill-color:currentColor}#menu.cinematic-menu .menu-panel nav a .line-icon{transition:transform .25s;color:white!important}#menu.cinematic-menu .menu-panel nav a:hover .line-icon{transform:translateX(3px)}#menu.cinematic-menu .menu-foot{display:none}
@media(max-width:1000px){#menu.cinematic-menu>.header{padding-inline:5%}#menu.cinematic-menu .menu-panel{right:5%}}
@media(max-width:800px){#menu.cinematic-menu>.header{min-height:calc(78px + env(safe-area-inset-top,0px));padding-top:calc(14px + env(safe-area-inset-top,0px));padding-bottom:14px;gap:20px}#menu.cinematic-menu .menu-panel{top:calc(var(--navigation-height,78px) + 10px);right:14px;width:min(360px,calc(100vw - 28px));padding:22px;border-radius:23px}#menu.cinematic-menu .menu-panel nav a{font-size:21px;min-height:49px;padding:12px 14px}#menu.cinematic-menu .menu-panel nav a:hover{padding:12px 14px}#menu.cinematic-menu .dialog-top{padding-bottom:18px}#menu.cinematic-menu .menu-panel nav{margin-top:16px;gap:6px}}
@media(max-width:370px){#menu.cinematic-menu>.header{gap:12px}}
@media(max-height:650px){#menu.cinematic-menu .menu-panel{padding:16px}#menu.cinematic-menu .dialog-top{min-height:38px;padding-bottom:12px}#menu.cinematic-menu .menu-lockup{height:38px}#menu.cinematic-menu .menu-panel nav{grid-template-columns:1fr 1fr;gap:7px;margin:12px 0 0}#menu.cinematic-menu .menu-panel nav a{font-size:15px;min-height:46px;padding:10px;gap:8px}#menu.cinematic-menu .menu-panel nav a:hover{padding:10px}#menu.cinematic-menu .menu-panel nav .line-icon{width:15px;height:15px}}
@media(max-height:400px){#menu.cinematic-menu .dialog-top{display:none}#menu.cinematic-menu .menu-panel nav{margin:0;gap:4px}#menu.cinematic-menu .menu-panel nav a{min-height:44px}}
@media(prefers-reduced-motion:reduce){.project-link:before,.pink-pill:before,.contact-button:before{animation:none!important;opacity:.35;transform:none}#menu.cinematic-menu:before,#menu.cinematic-menu .menu-panel,#menu.cinematic-menu .menu-panel nav a,.header .menu-button i{transition:none!important;transition-delay:0ms!important}#menu.cinematic-menu .menu-panel nav a{transform:none}}
