:root{--fed-black:#111;--fed-white:#fff;--fed-orange:#ff6a00;--fed-grey:#6b6b6b;--fed-light:#f4f3f0}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#111}
body{margin:0;background:#111;color:#fff;font-family:Manrope,Arial,sans-serif}
.fed-main{min-height:100vh}

/* Desktop: navigation stays on the right; logo is independently fixed on the left. */
.fed-side-nav{position:fixed;z-index:9000;right:0;top:0;width:260px;height:100vh;padding:28px 28px 30px;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none}
.fed-side-links{display:flex;flex-direction:column;align-items:flex-end;gap:16px;pointer-events:auto}
.fed-side-links a{position:relative;color:#ddd;text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.04em;padding-right:13px;transition:color .2s ease}
.fed-side-links a:after{content:"";position:absolute;right:0;top:50%;width:4px;height:4px;border-radius:50%;background:transparent;transform:translateY(-50%)}
.fed-side-links a:hover,.fed-side-links a.is-active{color:var(--fed-orange)}
.fed-side-links a.is-active:after{background:var(--fed-orange)}
.fed-side-brand{position:fixed;z-index:10002;left:28px;top:28px;width:150px;height:54px;display:flex;align-items:flex-start;justify-content:flex-start;text-decoration:none;pointer-events:auto}
.fed-brand-logo-wrap{position:relative;display:block;width:150px;height:52px}
.fed-brand-logo{position:absolute;left:0;top:0;display:block;width:auto;height:auto;max-width:150px;max-height:52px;object-fit:contain;transition:opacity .2s ease}
.fed-logo-black{opacity:0}
body.fed-logo-on-light .fed-logo-white{opacity:0}
body.fed-logo-on-light .fed-logo-black{opacity:1}
.fed-mobile-menu-toggle,.fed-mobile-menu{display:none}
.fed-footer{border-top:1px solid #292929;padding:45px 7vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;color:#aaa;font-size:11px}
.fed-footer strong{font-size:22px;color:#fff}.fed-footer span{display:inline-block;margin-top:7px}.fed-footer>div:last-child{text-align:right}.fed-footer a{color:#aaa}
.fed-page-content{padding:140px 8vw 180px;min-height:70vh}.fed-content-inner{max-width:1100px;margin:auto}.fed-content-inner h1{font-size:clamp(48px,7vw,100px);line-height:.9;letter-spacing:-.06em}

@media(max-width:900px){
 .fed-side-nav{position:fixed;z-index:10000;right:0;top:0;width:100%;height:72px;padding:14px 18px;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;background:transparent;pointer-events:none}
 .fed-side-links{display:none}
 .fed-side-brand{left:18px;top:14px;width:112px;height:42px;z-index:10003}
 .fed-brand-logo-wrap{width:112px;height:38px}.fed-brand-logo{max-width:112px;max-height:38px}
 .fed-mobile-menu-toggle{display:flex!important;position:fixed;right:18px;top:14px;z-index:10005;width:48px;height:48px;margin:0;padding:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;border:0;background:transparent;cursor:pointer;pointer-events:auto}
 .fed-mobile-menu-toggle span{display:block;width:26px;height:3px;background:#fff;transform-origin:center;transition:transform .2s ease,opacity .2s ease,background .2s ease}
 body.fed-logo-on-light .fed-mobile-menu-toggle span{background:#111}
 .fed-mobile-menu-toggle.is-open span:nth-child(1){transform:translateY(9px) rotate(45deg)}
 .fed-mobile-menu-toggle.is-open span:nth-child(2){opacity:0}
 .fed-mobile-menu-toggle.is-open span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}
 .fed-mobile-menu{position:fixed;inset:0;z-index:10004;background:#111;color:#fff;display:block;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);transition:opacity .22s ease,visibility .22s ease,transform .22s ease}
 .fed-mobile-menu.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}
 .fed-mobile-menu-inner{height:100%;overflow:auto;padding:96px 40px 30px}
 .fed-mobile-menu-inner>a{display:flex;justify-content:space-between;align-items:center;color:#fff;text-decoration:none;font-size:clamp(28px,8vw,50px);font-weight:800;letter-spacing:-.04em;line-height:1.05;padding:14px 0;border-bottom:1px solid #2b2b2b}
 .fed-mobile-menu-inner>a span{color:var(--fed-orange);font-weight:700}
 .fed-footer{grid-template-columns:1fr 1fr;padding:38px 22px}.fed-footer>div:last-child{text-align:left}
}
@media(max-width:520px){.fed-footer{grid-template-columns:1fr}.fed-page-content{padding:120px 22px}.fed-mobile-menu-inner{padding-left:40px;padding-right:28px}}
