/* Site notice (notice.js): a slim bar above the navigation while the new site
   rolls out. It sets --nb to its height so the fixed headers sit below it,
   slides away once you scroll, and can be dismissed. */
:root{--nb:0px;--nbh:0px}
.nb{position:fixed;top:0;left:0;right:0;z-index:8;display:flex;align-items:center;justify-content:center;gap:18px;min-height:38px;padding:9px 56px 9px 3.8vw;border-bottom:1px solid #ffffff1a;background:#0e0f0e;color:#bcbdb3;font:12px/1.45 Hanken,Arial,sans-serif;letter-spacing:.2px;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.nb.is-away{transform:translateY(-100%)}
.nb p{margin:0;text-align:center}
.nb p::before{content:'';display:inline-block;width:6px;height:6px;margin:0 12px 1px 0;border-radius:50%;background:#3ccf74;animation:nb-pulse 2s ease-in-out infinite}
@keyframes nb-pulse{50%{opacity:.3}}
.nb b{font-weight:500;color:#f4f1e9}
.nb a{flex:none;color:#f4f1e9;text-decoration:underline;text-decoration-color:#de3a1199;text-underline-offset:4px;transition:color .3s,text-decoration-color .3s}
.nb a:hover{color:#de3a11;text-decoration-color:#de3a11}
.nb-short{display:none}
.nb-x{position:absolute;right:max(10px,calc(3.8vw - 10px));top:50%;width:34px;height:34px;margin-top:-17px;padding:0;border:0;background:none;color:#8c9087;cursor:pointer;transition:color .3s}
.nb-x::before,.nb-x::after{content:'';position:absolute;left:50%;top:50%;width:12px;height:1px;margin:-.5px -6px;background:currentColor;transform:rotate(45deg)}
.nb-x::after{transform:rotate(-45deg)}
.nb-x:hover{color:#f4f1e9}
body:has(.menu-open) .nb{transform:translateY(-100%)}
/* The fixed headers on each page move down while the notice shows. */
.hero>header,.cs-bar,.ct-bar,.lg-bar{transition:transform .6s cubic-bezier(.16,1,.3,1);transform:translateY(var(--nb))}
.burger{transition:transform .6s cubic-bezier(.16,1,.3,1),border-color .35s,background-color .35s;transform:translateY(var(--nb))}
body:has(.menu-open) .burger{transform:none}
@media(max-width:760px){.nb{justify-content:flex-start;gap:12px;padding-left:16px;font-size:11.5px}.nb p{text-align:left}.nb-long{display:none}.nb-short{display:inline}}
@media(prefers-reduced-motion:reduce){.nb,.hero>header,.cs-bar,.ct-bar,.lg-bar,.burger{transition:none}.nb p::before{animation:none}}
@media(max-width:760px){.nb a{padding:10px 0;margin:-10px 0}.nb-x{width:44px;height:44px;margin-top:-22px;right:2px}}
/* Content on the inner pages starts below the notice while it exists. */
#cs,main.ct,main.lg{margin-top:var(--nbh);transition:margin-top .6s cubic-bezier(.16,1,.3,1)}
@media(prefers-reduced-motion:reduce){#cs,main.ct,main.lg{transition:none}}
.cs-hero{min-height:calc(100svh - var(--nbh,0px))}
