*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:#f7f7f5;color:#1a1a1a;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;display:flex;flex-direction:column}::selection{background-color:#8a7d6b26;color:#1a1a1a}:focus-visible{outline:2px solid #8a7d6b;outline-offset:2px}a{color:#1a1a1a;text-decoration-color:#e5e5e3;text-underline-offset:3px;transition:color .2s ease}a:hover{color:#8a7d6b}img{display:block;max-width:100%}header{width:100%;height:56px;z-index:99;background-color:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #e5e5e3;position:sticky;left:0;top:0}.main-wrapper{flex:1}footer{height:48px;border-top:1px solid #e5e5e3;display:flex;align-items:center;justify-content:center}.page-wrapper{width:100%}.mobile-nav-overlay{position:fixed;inset:0;width:100%;height:100%;z-index:99999;background-color:#fffffff7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:overlayEnter .35s cubic-bezier(.25,.1,.25,1) forwards}.mobile-nav-overlay.closing{animation:overlayExit .3s cubic-bezier(.4,0,1,1) forwards}.mobile-nav-overlay>.overlay-header{display:flex;justify-content:flex-end;align-items:center;padding:12px 16px;border-bottom:1px solid #e5e5e3}.mobile-nav-overlay>.overlay-header>button{background-color:transparent;border:none;outline:none;font-size:1.5rem;color:#1a1a1a;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background-color .2s ease}.mobile-nav-overlay>.overlay-header>button:hover{background-color:#1a1a1a0d}.mobile-nav-overlay>.mobile-nav-links{display:flex;flex-direction:column;padding:24px 0}.mobile-nav-overlay>.mobile-nav-links>.mobile-nav-item{text-decoration:none;color:#1a1a1a;font-size:1.25rem;padding:12px 24px;letter-spacing:.05em;transition:background-color .2s ease,color .2s ease}.mobile-nav-overlay>.mobile-nav-links>.mobile-nav-item:hover{background-color:#8a7d6b0f;color:#8a7d6b}@keyframes overlayEnter{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);transform:scale(.98)}to{opacity:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:scale(1)}}@keyframes overlayExit{0%{opacity:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transform:scale(1)}to{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);transform:scale(.98)}}
