/* ==========================================================================
   Cybereum · site-shell.css
   The global site shell shared by every public page: skip link, header,
   primary navigation (dropdowns + mobile drawer), theme control, button
   system, eyebrow label, footer. Markup lives in includes/site-header.html
   and includes/site-footer.html and is stamped into pages by
   scripts/sync-site-shell.py. Page bundles may set intensity (backgrounds,
   heroes) but must not restyle these components.
   ========================================================================== */

/* Skip link ---------------------------------------------------------------- */
.cyb-skip{position:absolute;left:-999px;top:10px;z-index:4000;padding:.6rem 1rem;border-radius:var(--cyb-control-radius);background:var(--cyb-accent);color:var(--cyb-on-accent);font:500 .9rem/1 var(--cyb-body);text-decoration:none}
.cyb-skip:focus{left:10px}
.cyb-defs{position:absolute;width:0;height:0;overflow:hidden}

/* Header ------------------------------------------------------------------ */
.cyb-header{position:fixed;inset:0 0 auto;z-index:1100;height:var(--cyb-nav-h);border-bottom:1px solid transparent;transition:background var(--cyb-base),border-color var(--cyb-base),box-shadow var(--cyb-base)}
.cyb-header.is-scrolled{background:var(--cyb-glass);-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15);border-bottom-color:var(--cyb-line);box-shadow:0 1px 0 color-mix(in srgb,var(--cyb-line-strong) 45%,transparent),0 18px 46px -40px rgba(0,0,0,.7)}
.cyb-header.is-scrolled.has-subnav{border-bottom-color:transparent;box-shadow:none}
.cyb-header.is-open{background:var(--cyb-bg);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:var(--cyb-line);box-shadow:none}
.cyb-header__row{display:flex;align-items:center;gap:clamp(18px,2.4vw,40px);height:var(--cyb-nav-h)}
.cyb-brand{display:inline-flex;align-items:center;min-height:44px;gap:.65rem;flex:0 0 auto;color:var(--cyb-fg);text-decoration:none;border-radius:var(--cyb-radius-xs)}
.cyb-brand__mark{width:32px;height:32px;overflow:visible;flex:0 0 auto;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--cyb-cyan) 32%,transparent));transition:filter var(--cyb-slow) var(--cyb-ease)}
.cyb-brand:hover .cyb-brand__mark{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--cyb-cyan) 48%,transparent))}
:root[data-theme="light"] .cyb-brand__mark{filter:none}
.cyb-brand__wordmark{height:14px;width:auto;fill:var(--cyb-accent);flex:0 0 auto}
.cyb-brand:hover .cyb-brand__wordmark{fill:color-mix(in srgb,var(--cyb-accent) 82%,var(--cyb-fg))}

/* Menu container: inline on desktop, drawer on narrow screens ------------- */
.cyb-menu{display:flex;flex:1 1 auto;align-items:center;justify-content:space-between;gap:clamp(16px,2vw,32px);min-width:0}
.cyb-nav{min-width:0}
.cyb-nav__list{display:flex;align-items:center;gap:.125rem;margin:0;padding:0;list-style:none}
.cyb-nav__item{position:relative}
.cyb-nav__link,.cyb-nav__trigger{position:relative;display:inline-flex;align-items:center;gap:.4em;min-height:44px;padding:.55rem .85rem;border-radius:var(--cyb-radius-xs);font:500 .9rem/1 var(--cyb-body);letter-spacing:.005em;color:var(--cyb-fg-2);text-decoration:none;white-space:nowrap;transition:color var(--cyb-fast),background var(--cyb-fast)}
.cyb-nav__link::after,.cyb-nav__trigger::after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.35rem;height:1px;background:var(--cyb-accent);transform:scaleX(0);transform-origin:0 50%;transition:transform var(--cyb-base) var(--cyb-ease)}
.cyb-nav__link:hover,.cyb-nav__trigger:hover,.cyb-nav__trigger[aria-expanded="true"]{color:var(--cyb-fg);background:color-mix(in srgb,var(--cyb-accent) 8%,transparent)}
.cyb-nav__link:hover::after,.cyb-nav__link[aria-current="page"]::after,.cyb-nav__item.is-active>.cyb-nav__trigger::after{transform:scaleX(1)}
.cyb-nav__link[aria-current="page"],.cyb-nav__item.is-active>.cyb-nav__trigger{color:var(--cyb-fg)}
.cyb-nav__chevron{width:.85em;height:.85em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--cyb-base) var(--cyb-ease)}
.cyb-nav__trigger[aria-expanded="true"] .cyb-nav__chevron{transform:rotate(180deg)}
.cyb-nav__panel{position:absolute;top:calc(100% + 8px);left:0;z-index:5;display:none;min-width:320px;padding:.5rem;border:1px solid var(--cyb-line);border-radius:var(--cyb-radius-sm);background:color-mix(in srgb,var(--cyb-surface-solid) 94%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:var(--cyb-highlight),0 26px 70px -36px rgba(0,0,0,.8)}
.cyb-nav__panel::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.cyb-nav__panel::after{content:"";position:absolute;left:14px;right:14px;top:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--cyb-accent) 45%,transparent),transparent);pointer-events:none}
.cyb-nav__trigger[aria-expanded="true"]~.cyb-nav__panel{display:block;animation:cyb-pop var(--cyb-base) var(--cyb-ease-out) both}
@keyframes cyb-pop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.cyb-nav__entry{display:grid;gap:.2rem;padding:.65rem .8rem;border-radius:var(--cyb-radius-xs);color:var(--cyb-fg);text-decoration:none;transition:background var(--cyb-fast)}
.cyb-nav__entry:hover,.cyb-nav__entry:focus-visible{background:color-mix(in srgb,var(--cyb-accent) 10%,transparent)}
.cyb-nav__entry[aria-current="page"]{background:color-mix(in srgb,var(--cyb-accent) 7%,transparent);box-shadow:inset 2px 0 0 var(--cyb-accent)}
.cyb-nav__entry>span{font:500 .9rem/1.25 var(--cyb-body);letter-spacing:-.005em}
.cyb-nav__entry>small{font-size:.78rem;line-height:1.35;color:var(--cyb-fg-3)}
.cyb-nav__panel--wide{display:none;grid-template-columns:1fr 1fr;gap:.25rem 1.25rem;min-width:620px;padding:.75rem}
.cyb-nav__trigger[aria-expanded="true"]~.cyb-nav__panel--wide{display:grid}
.cyb-nav__col{display:grid;align-content:start;gap:.1rem}
.cyb-nav__heading{margin:.35rem .8rem .45rem;font:500 .66rem/1 var(--cyb-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--cyb-fg-3)}
.cyb-nav__entry--compact{padding:.5rem .8rem}
.cyb-nav__entry--compact>span{font-weight:400;color:var(--cyb-fg-2)}
.cyb-nav__entry--compact:hover>span{color:var(--cyb-fg)}
.cyb-nav__entry--span{grid-column:1/-1;margin-top:.35rem;border-top:1px solid var(--cyb-line);padding-top:.85rem;border-radius:0 0 var(--cyb-radius-xs) var(--cyb-radius-xs)}
.cyb-nav__group-label{display:none}

/* Utilities ----------------------------------------------------------------- */
.cyb-header__utilities{display:flex;align-items:center;gap:.6rem;flex:0 0 auto}
.cyb-header__login{display:inline-flex;align-items:center;min-height:44px;padding:.45rem .7rem;border-radius:var(--cyb-radius-xs);font:500 .85rem/1 var(--cyb-body);color:var(--cyb-fg-3);text-decoration:none;white-space:nowrap;transition:color var(--cyb-fast),background var(--cyb-fast)}
.cyb-header__login:hover{color:var(--cyb-fg);background:color-mix(in srgb,var(--cyb-accent) 8%,transparent)}
.cyb-theme-toggle{position:relative;display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border:1px solid color-mix(in srgb,var(--cyb-line-strong) 70%,transparent);border-radius:var(--cyb-radius-xs);color:var(--cyb-fg-2);transition:color var(--cyb-fast),border-color var(--cyb-fast),background var(--cyb-fast),transform .42s cubic-bezier(.34,1.56,.64,1)}
.cyb-theme-toggle:hover{color:var(--cyb-accent);border-color:var(--cyb-accent);transform:scale(1.035)}
.cyb-theme-toggle:active{transform:scale(.94)}
.cyb-theme-toggle svg{position:absolute;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:opacity var(--cyb-base),transform .5s cubic-bezier(.34,1.56,.64,1)}
.cyb-theme-toggle__moon{opacity:0;transform:rotate(-90deg) scale(.5)}
:root[data-theme="light"] .cyb-theme-toggle__sun{opacity:0;transform:rotate(90deg) scale(.5)}
:root[data-theme="light"] .cyb-theme-toggle__moon{opacity:1;transform:none}
.cyb-menu-toggle{display:none;width:42px;height:42px;flex:0 0 auto;border-radius:var(--cyb-radius-xs);place-items:center;color:var(--cyb-fg)}
.cyb-menu-toggle__bars{display:grid;gap:5px;width:22px}
.cyb-menu-toggle__bars i{display:block;height:2px;border-radius:1px;background:currentColor;transition:transform var(--cyb-base) var(--cyb-ease),opacity var(--cyb-base)}
.cyb-menu-toggle[aria-expanded="true"] i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.cyb-menu-toggle[aria-expanded="true"] i:nth-child(2){opacity:0;transform:scaleX(0)}
.cyb-menu-toggle[aria-expanded="true"] i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Header sizes: hide the compact CTA first, then collapse to a drawer ------ */
@media(max-width:1280px){.cyb-header__row{gap:18px}.cyb-nav__link,.cyb-nav__trigger{padding:.55rem .6rem;font-size:.86rem}.cyb-button--compact{padding-inline:.85rem}}
@media(max-width:1099px){
  .cyb-menu-toggle{display:grid}
  .cyb-header__row{gap:.5rem}
  .cyb-brand{margin-right:auto}
  .cyb-brand__mark{width:28px;height:28px}.cyb-brand__wordmark{height:12px}
  .cyb-menu{position:fixed;inset:var(--cyb-nav-h) 0 0;z-index:1090;display:none;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;padding:var(--cyb-space-3) var(--cyb-gutter) calc(var(--cyb-space-6) + env(safe-area-inset-bottom));overflow-y:auto;background:var(--cyb-bg);border-top:1px solid var(--cyb-line)}
  .cyb-menu.is-open{display:flex;animation:cyb-drawer var(--cyb-base) var(--cyb-ease-out) both}
  @keyframes cyb-drawer{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
  .cyb-nav__list{flex-direction:column;align-items:stretch;gap:0}
  .cyb-nav__item{border-bottom:1px solid var(--cyb-line)}
  .cyb-nav__link{display:flex;min-height:54px;padding:.9rem .25rem;font-size:1.05rem}
  .cyb-nav__link::after{display:none}
  .cyb-nav__link[aria-current="page"]{color:var(--cyb-accent)}
  .cyb-nav__trigger{display:none}
  .cyb-nav__group-label{display:block;padding:1rem .25rem .35rem;font:500 .7rem/1 var(--cyb-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--cyb-fg-3)}
  .cyb-nav__panel,.cyb-nav__panel--wide{position:static;display:grid;grid-template-columns:1fr;min-width:0;padding:0 0 .6rem;border:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;animation:none}
  .cyb-nav__heading{margin:.6rem .25rem .2rem}.cyb-nav__col{gap:0}.cyb-nav__entry--span{border-top:0;padding-top:.7rem;margin-top:0}
  .cyb-nav__trigger[aria-expanded="true"]~.cyb-nav__panel{animation:none}
  .cyb-nav__entry{padding:.7rem .25rem}
  .cyb-nav__entry[aria-current="page"]{box-shadow:none;background:none}.cyb-nav__entry[aria-current="page"]>span{color:var(--cyb-accent)}
  .cyb-header__utilities{flex-direction:column-reverse;align-items:stretch;gap:.75rem;margin-top:var(--cyb-space-4)}
  .cyb-header__utilities .cyb-button{min-height:50px;font-size:1rem}
  .cyb-header__login{justify-content:center;min-height:46px;border:1px solid var(--cyb-line-strong);color:var(--cyb-fg-2)}
}

/* Pages whose hero is always dark (Dyēŭs) keep dark shell tokens over the hero in light theme */
[data-shell-hero="dark"] .cyb-header:not(.is-scrolled):not(.is-open){color-scheme:dark;--cyb-fg:var(--cyb-glow);--cyb-fg-2:var(--cyb-mist);--cyb-fg-3:#6E9CC4;--cyb-accent:var(--cyb-cyan);--cyb-accent-2:var(--cyb-sky);--cyb-accent-deep:var(--cyb-graph);--cyb-on-accent:var(--cyb-navy);--cyb-line:color-mix(in srgb,var(--cyb-cyan) 14%,transparent);--cyb-line-strong:color-mix(in srgb,var(--cyb-cyan) 28%,transparent);--cyb-surface-solid:#0D1E30}

/* Contextual navigation: the current page's architecture, under the global header.
   Markup is page-authored (<nav class="cyb-subnav" data-subnav>); site-ui.js reveals it once the
   reader is past the hero and tracks the active section. The band shares the
   same glass surface as the persistent header so it reads as one control plane.

   The row and its links are matched structurally as well as by class. A page
   or a generated bar that omits .cyb-subnav__row / .cyb-subnav__link still
   renders as the canonical scrolling rail instead of collapsing into
   run-together inline text. .cyb-subnav__inner is a retained legacy alias. */
.cyb-subnav{position:fixed;top:var(--cyb-nav-h);left:0;right:0;z-index:1050;height:var(--cyb-subnav-h,42px);border-bottom:1px solid var(--cyb-line);background:var(--cyb-glass);-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15);box-shadow:0 18px 46px -40px rgba(0,0,0,.7);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity var(--cyb-base) var(--cyb-ease),transform var(--cyb-base) var(--cyb-ease),box-shadow var(--cyb-base)}
.cyb-subnav.is-visible{opacity:1;transform:none;pointer-events:auto}
.cyb-subnav__row,.cyb-subnav__inner,.cyb-subnav>.cyb-wrap{display:flex;align-items:center;gap:.25rem;height:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.cyb-subnav__row::-webkit-scrollbar,.cyb-subnav__inner::-webkit-scrollbar,.cyb-subnav>.cyb-wrap::-webkit-scrollbar{display:none}
.cyb-subnav__label{margin-right:.75rem;font:500 .64rem/1 var(--cyb-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--cyb-fg-3);white-space:nowrap}
.cyb-subnav__link,.cyb-subnav a[href^="#"]{position:relative;display:inline-flex;align-items:center;height:100%;padding:0 .7rem;font:500 .82rem/1 var(--cyb-body);color:var(--cyb-fg-3);text-decoration:none;white-space:nowrap;transition:color var(--cyb-fast)}
.cyb-subnav__link::after,.cyb-subnav a[href^="#"]::after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:-1px;height:1px;background:var(--cyb-accent);transform:scaleX(0);transform-origin:0 50%;transition:transform var(--cyb-base) var(--cyb-ease)}
.cyb-subnav__link:hover,.cyb-subnav a[href^="#"]:hover{color:var(--cyb-fg)}
.cyb-subnav__link[aria-current="true"],.cyb-subnav a[href^="#"][aria-current="true"]{color:var(--cyb-fg)}
.cyb-subnav__link[aria-current="true"]::after,.cyb-subnav a[href^="#"][aria-current="true"]::after{transform:scaleX(1)}
.cyb-subnav__context~.cyb-subnav__label{display:none}
html:has(.cyb-subnav){scroll-padding-top:calc(var(--cyb-nav-h) + var(--cyb-subnav-h,42px) + 12px)}
.cyb-header.is-open~.cyb-subnav,body.cyb-presenting .cyb-subnav{display:none}
@media(max-width:1099px){.cyb-subnav__label{display:none}.cyb-subnav__row,.cyb-subnav__inner,.cyb-subnav>.cyb-wrap{-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent);mask-image:linear-gradient(90deg,#000 88%,transparent)}}
@media(prefers-reduced-motion:reduce){.cyb-subnav,.cyb-theme-toggle,.cyb-theme-toggle svg{transition:none}.cyb-theme-toggle:hover,.cyb-theme-toggle:active{transform:none}}

/* Presentation / immersive mode: chrome disappears deliberately ------------ */
body.cyb-presenting .cyb-header,body.cyb-presenting .cyb-skip{display:none}

.cyb-anchor{display:block;height:0;margin:0;overflow:hidden}

/* Buttons ----------------------------------------------------------------- */
.cyb-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:46px;padding:.75rem 1.45rem;border:1px solid color-mix(in srgb,var(--cyb-line-strong) 84%,transparent);border-radius:var(--cyb-control-radius);background:color-mix(in srgb,var(--cyb-surface-raised) 72%,transparent);box-shadow:var(--cyb-highlight);color:var(--cyb-fg);font:500 .9rem/1 var(--cyb-body);letter-spacing:.015em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:transform .22s var(--cyb-ease),box-shadow .22s var(--cyb-ease),background .22s,border-color .22s,color .22s}
.cyb-button:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--cyb-surface-raised) 92%,transparent);border-color:color-mix(in srgb,var(--cyb-accent) 55%,var(--cyb-line));box-shadow:var(--cyb-highlight),var(--cyb-glow-soft)}
.cyb-button:active{transform:translateY(0) scale(.99)}
.cyb-button--primary{background:linear-gradient(180deg,color-mix(in srgb,var(--cyb-accent) 84%,#fff),color-mix(in srgb,var(--cyb-accent) 90%,var(--cyb-accent-2)));border-color:color-mix(in srgb,var(--cyb-accent) 70%,#fff);color:var(--cyb-on-accent);font-weight:600;box-shadow:inset 0 1px 0 rgb(255 255 255/.45),0 10px 28px -18px color-mix(in srgb,var(--cyb-accent) 60%,transparent)}
.cyb-button--primary:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--cyb-accent) 76%,#fff),color-mix(in srgb,var(--cyb-accent) 96%,var(--cyb-accent-2)));border-color:color-mix(in srgb,var(--cyb-accent) 60%,#fff);box-shadow:inset 0 1px 0 rgb(255 255 255/.55),0 14px 34px -18px color-mix(in srgb,var(--cyb-accent) 70%,transparent)}
:root[data-theme="light"] .cyb-button--primary{background:linear-gradient(180deg,color-mix(in srgb,var(--cyb-accent) 88%,#fff),var(--cyb-accent));border-color:color-mix(in srgb,var(--cyb-accent) 80%,transparent);box-shadow:inset 0 1px 0 rgb(255 255 255/.18),0 10px 26px -16px color-mix(in srgb,var(--cyb-accent) 55%,transparent)}
:root[data-theme="light"] .cyb-button--primary:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--cyb-accent) 80%,#fff),var(--cyb-accent-2))}
.cyb-button--compact{min-height:44px;padding:.45rem 1rem;font-size:.85rem}
.cyb-button--link{min-height:0;padding:.35rem .5rem;border-color:transparent;background:none;color:var(--cyb-fg-2)}
.cyb-button--link:hover{transform:none;background:none;border-color:transparent;color:var(--cyb-accent)}
.cyb-button--link span{transition:translate .25s var(--cyb-ease)}
.cyb-button--link:hover span{translate:3px 0}
.cyb-button--block{width:100%}

/* Eyebrow label ------------------------------------------------------------- */
.cyb-eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--cyb-accent);font-family:var(--cyb-mono);font-size:.69rem;letter-spacing:.17em;text-transform:uppercase;font-weight:500}
.cyb-eyebrow::before{content:"";width:20px;height:1px;background:color-mix(in srgb,var(--cyb-accent) 68%,transparent)}

/* Footer ------------------------------------------------------------------- */
.cyb-footer{position:relative;margin-top:var(--cyb-space-7);padding:var(--cyb-space-7) 0 calc(var(--cyb-space-5) + env(safe-area-inset-bottom));border-top:1px solid var(--cyb-line);background:linear-gradient(to bottom,color-mix(in srgb,var(--cyb-bg-2) 24%,transparent),color-mix(in srgb,var(--cyb-bg-2) 54%,var(--cyb-bg)));color:var(--cyb-fg)}
.cyb-footer__grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:var(--cyb-space-5)}
.cyb-footer__brand svg{display:block;width:min(70%,220px);height:auto;fill:var(--cyb-accent);opacity:.55}
.cyb-footer__brand p{margin:var(--cyb-space-3) 0;max-width:36ch;color:var(--cyb-fg-3);font-size:.9rem;line-height:1.6}
.cyb-footer__mail{display:inline-flex;align-items:center;min-height:44px;font:500 1rem/1 var(--cyb-body);color:var(--cyb-fg);letter-spacing:-.01em;text-decoration:none}
.cyb-footer__mail:hover{color:var(--cyb-accent)}
.cyb-footer__col{display:grid;gap:.55rem;align-content:start}
.cyb-footer__heading{margin:0 0 .5rem;font:500 .72rem/1 var(--cyb-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--cyb-fg-3)}
.cyb-footer__col a{display:inline-flex;align-items:center;width:fit-content;min-height:24px;font-size:.9rem;color:var(--cyb-fg-2);text-decoration:none;transition:color var(--cyb-fast)}
.cyb-footer__col a:hover{color:var(--cyb-accent)}
.cyb-footer__legal{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--cyb-space-2);margin-top:var(--cyb-space-6);padding-top:var(--cyb-space-3);border-top:1px solid var(--cyb-line)}
.cyb-footer__legal small{font:400 .75rem/1.5 var(--cyb-mono);color:var(--cyb-fg-3)}
/* The consent control is a <button> beside two <a>s. Without a rule of its
   own it took UA button defaults and the links took page link defaults, so
   the three sat at different sizes on different baselines. They are one
   row of legal links and are set as one. */
.cyb-footer__legal .cyb-privacy-links{display:flex;align-items:center;flex-wrap:wrap;gap:var(--cyb-space-3)}
.cyb-footer__legal .cyb-privacy-links a,.cyb-footer__legal .cyb-privacy-links button{display:inline-flex;align-items:center;min-height:24px;margin:0;padding:0;border:0;background:none;font:400 .75rem/1.5 var(--cyb-mono);letter-spacing:inherit;color:var(--cyb-fg-3);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--cyb-fg-3) 45%,transparent);cursor:pointer}
.cyb-footer__legal .cyb-privacy-links a:hover,.cyb-footer__legal .cyb-privacy-links button:hover{color:var(--cyb-fg-2);text-decoration-color:currentColor}
.cyb-footer__legal .cyb-privacy-links a:focus-visible,.cyb-footer__legal .cyb-privacy-links button:focus-visible{outline:2px solid var(--cyb-accent);outline-offset:3px;border-radius:2px}
.cyb-footer__inscription{position:relative;margin:var(--cyb-space-6) auto 0;padding:var(--cyb-space-5) var(--cyb-gutter) 0;max-width:var(--cyb-max);font-family:var(--cyb-inscription);font-size:clamp(.56rem,.5rem + .2vw,.7rem);line-height:1.6;letter-spacing:.46em;word-spacing:.78em;text-indent:.46em;text-transform:uppercase;text-align:center;color:color-mix(in srgb,var(--cyb-accent) 68%,var(--cyb-fg-3));opacity:.66}
.cyb-footer__inscription::before{content:"";position:absolute;top:0;left:50%;width:min(260px,34vw);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--cyb-line-strong),transparent)}
@media(max-width:1000px){.cyb-footer__grid{grid-template-columns:1fr 1fr}.cyb-footer__brand{grid-column:1/-1}}
@media(max-width:520px){.cyb-footer{padding-top:var(--cyb-space-6)}.cyb-footer__grid{grid-template-columns:1fr;gap:var(--cyb-space-4)}.cyb-footer__inscription{letter-spacing:.3em;word-spacing:.5em;text-indent:.3em}}

/* Print ------------------------------------------------------------------- */
@media print{.cyb-header,.cyb-skip,.cyb-footer__inscription{display:none!important}body{padding-top:0!important}}
