/* Shared sister-site navigation. Edit the shared template, then regenerate both sites. */
@font-face{font-family:SisterArchivo;src:url("/assets/Archivo-latin-variable.woff2") format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:SisterMono;src:url("/assets/JetBrainsMono-latin-variable.woff2") format("woff2");font-weight:100 800;font-display:swap}
html{scroll-padding-top:calc(var(--nav-height,107px) + 16px)}
.sister-nav{--sn-paper:#f4f3ef;--sn-muted:#cac7bf;--sn-gold:#d2aa52;--sn-champagne:#f4e2b3;--sn-line:#38352e;--sn-tile:#10100f;--sn-selected:#1c1a15;
 --active-position:0;--density-progress:0;--shadow-opacity:0;--menu-align:flex-start;
 --expanded-tile-height:52px;--compact-tile-height:44px;
 --expanded-tile-padding-y:8px;--compact-tile-padding-y:7px;
 --expanded-tile-padding-x:16px;--compact-tile-padding-x:12px;
 --expanded-logo-height:28px;--compact-logo-height:24px;
 --expanded-ion-height:36px;--compact-ion-height:30px;
 --expanded-rail-height:14px;--compact-rail-height:12px;
 --expanded-menu-min-height:40px;--compact-menu-min-height:40px;
 --expanded-panel-top:0px;--compact-panel-top:0px;--expanded-panel-bottom:0px;--compact-panel-bottom:0px;--expanded-menu-top:0px;--expanded-menu-bottom:0px;
 position:fixed;top:0;left:0;right:0;z-index:60;margin:0;padding:0;border:0;border-radius:0;max-width:none;background:var(--sn-tile);color:var(--sn-paper);
 font-family:SisterArchivo,Archivo,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;text-transform:none;
 box-shadow:0 8px 20px -8px rgb(0 0 0 / var(--shadow-opacity,0));box-sizing:border-box;color-scheme:dark}
.sister-nav[data-site=ionbin]{--active-position:1;--menu-align:center}
.sister-nav[data-site=execexcel]{--active-position:2;--menu-align:flex-end}
.sister-nav *,.sister-nav *::before,.sister-nav *::after{box-sizing:border-box}
.sister-nav a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:none}
.sister-nav a:hover{text-decoration:none}
.sister-nav a:focus-visible,.sister-nav button:focus-visible{outline:2px solid var(--sn-champagne);outline-offset:-3px}
.sister-nav .master-wrap{margin:0;padding:0;width:100%}
.sister-nav .master-nav{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;margin:0;padding:0}
.sister-nav .active-tile{position:absolute;left:0;top:0;bottom:0;width:calc(100% / 3);background:var(--sn-selected);transform:translateX(calc(var(--active-position) * 100%));pointer-events:none;z-index:0}
.sister-nav .site-link{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-width:0;margin:0;background:transparent;border:0;border-radius:0;box-shadow:inset -1px 0 var(--sn-line);
 height:calc(var(--expanded-tile-height) + (var(--compact-tile-height) - var(--expanded-tile-height)) * var(--density-progress));min-height:44px;
 padding:0 calc(var(--expanded-tile-padding-x) + (var(--compact-tile-padding-x) - var(--expanded-tile-padding-x)) * var(--density-progress))}
.sister-nav .site-link:last-child{box-shadow:none}
.sister-nav .site-link:hover{background:#d2aa5208}
.sister-nav .site-link:focus-visible{outline-offset:-4px;z-index:2}
.sister-nav .site-link img{display:block;width:min(80%,220px);max-width:100%;min-width:0;margin:0;object-fit:contain;object-position:center;height:calc(var(--expanded-logo-height) + (var(--compact-logo-height) - var(--expanded-logo-height)) * var(--density-progress))}
.sister-nav .site-link[data-brand=ionbin] img{width:min(72%,170px);height:calc(var(--expanded-ion-height) + (var(--compact-ion-height) - var(--expanded-ion-height)) * var(--density-progress))}
.sister-nav .location-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;background:var(--sn-tile);height:calc(var(--expanded-rail-height) + (var(--compact-rail-height) - var(--expanded-rail-height)) * var(--density-progress))}
.sister-nav .location-marker{grid-column:1;display:flex;align-items:center;justify-content:center;margin:0;padding:0;background:var(--sn-selected);color:var(--sn-champagne);font-family:SisterMono,'JetBrains Mono',JetBrains,monospace;font-size:8px;font-weight:400;line-height:1;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transform:translateX(calc(var(--active-position) * 100%))}
.sister-nav .location-marker::before{content:'\2191';padding-right:5px;color:var(--sn-gold)}
/* The panel may grow beyond its tile so a longer menu never creates a second row.
   Its center follows the selected tile, clamped at the page edges. */
.sister-nav .subnav-wrap{position:relative;display:flex;justify-content:var(--menu-align);margin:0;padding:0;background:var(--sn-tile);border-bottom:1px solid var(--sn-line)}
.sister-nav .subnav-inner{display:flex;justify-content:center;width:max-content;min-width:calc(100% / 3);max-width:100%;margin:0;padding:0 12px;background:var(--sn-selected);overflow:hidden;
 height:calc(var(--expanded-menu-min-height) + (var(--compact-menu-min-height) - var(--expanded-menu-min-height)) * var(--density-progress))}
.sister-nav .subnav{display:flex;flex-wrap:nowrap;justify-content:safe center;align-items:center;gap:0 20px;margin:0;min-width:0;padding:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none}
.sister-nav .subnav::-webkit-scrollbar{display:none}
.sister-nav .subnav a,.sister-nav .subnav button{flex:0 0 auto;display:flex;align-items:center;justify-content:center;gap:6px;position:relative;margin:0;padding:0 2px;text-align:center;min-height:40px;max-width:none;font-family:SisterArchivo,Archivo,Arial,sans-serif;font-weight:400;font-size:12px;line-height:1.4;letter-spacing:0;text-transform:none;color:var(--sn-muted);background:none;border:0;border-radius:0;cursor:pointer;white-space:nowrap;overflow-wrap:normal;text-decoration:none}
.sister-nav .subnav a:hover,.sister-nav .subnav button:hover{color:#fff;background:none}
.sister-nav .subnav a[aria-current]{color:var(--sn-paper)}
.sister-nav .subnav a[aria-current]::after{content:'';position:absolute;height:2px;bottom:3px;left:2px;right:2px;background:var(--sn-gold)}
.sister-nav .subnav .subnav-icon{min-width:28px}
.sister-nav .subnav .subnav-icon svg{width:15px;height:15px;display:block}
.sister-nav .subnav button[aria-pressed]{font-family:SisterMono,'JetBrains Mono',JetBrains,monospace;font-size:9px;letter-spacing:.04em;text-transform:uppercase}
.sister-nav .subnav button[hidden]{display:none}
.nav-reserve{display:block;height:107px;margin:0;padding:0;border:0}
.skip:focus,.skip-link:focus{z-index:200}
@media(max-width:1100px){
 .sister-nav .subnav{gap:0 16px}
}
@media(max-width:800px),(pointer:coarse){
 .sister-nav{--expanded-tile-height:48px;--compact-tile-height:44px;--expanded-tile-padding-x:10px;--compact-tile-padding-x:8px;--expanded-logo-height:24px;--compact-logo-height:22px;--expanded-ion-height:32px;--compact-ion-height:29px;--expanded-menu-min-height:44px;--compact-menu-min-height:44px}
 .sister-nav .subnav a,.sister-nav .subnav button{min-height:44px}
 .nav-reserve{height:107px}
}
@media(max-width:800px){
 .sister-nav .site-link img{width:100%;max-width:180px}.sister-nav .site-link[data-brand=ionbin] img{width:85%}
 .sister-nav .location-marker{font-size:7px;letter-spacing:.04em}
 .sister-nav .subnav-wrap{background:var(--sn-selected)}
 .sister-nav .subnav-wrap::before{content:'';position:absolute;top:0;left:calc((var(--active-position) + .5) * 100% / 3);width:4px;height:4px;transform:translate(-50%,-50%) rotate(45deg);background:var(--sn-gold);pointer-events:none;z-index:1}
 .sister-nav .subnav-inner{width:100%;padding:0 6px}
 .sister-nav .subnav{gap:0 clamp(5px,1.7vw,14px)}
 .sister-nav .subnav a,.sister-nav .subnav button{font-size:11px}
 .sister-nav .subnav button[aria-pressed]{font-size:8px}
}
/* Touch screens: every menu link is at least 44x44px (Apple HIG); padding replaces the gap so spacing stays even. */
@media(max-width:800px),(pointer:coarse){
 .sister-nav .subnav{gap:0}
 .sister-nav .subnav a,.sister-nav .subnav button,.sister-nav .subnav .subnav-icon{min-width:44px;padding:0 8px}
}
/* Short landscape phones: let the header scroll away so it cannot cover most of the screen or a focused field. */
@media(max-height:500px) and (orientation:landscape) and (pointer:coarse){
 .sister-nav{position:absolute}
 html{scroll-padding-top:16px}
}
@media(max-width:420px){
 .sister-nav{--expanded-logo-height:20px;--compact-logo-height:19px;--expanded-ion-height:28px;--compact-ion-height:26px}
}
@media print{.sister-nav{position:static;box-shadow:none}.nav-reserve{display:none}}
