/*!
 * Sequence — nav + footer chrome only.
 *
 * Extracted verbatim from compound.css for the reconstitution calculator,
 * which ships its own token set and its own .wrap / .eyebrow / body rules.
 * Loading the whole of compound.css there would override them; this file
 * carries only the shared chrome and the tokens the calculator does not
 * already define, so nothing collides.
 */

:root{
  --max:1160px;
  --on-dark:#F1E8DC;
  --on-dark-muted:#B09884;
}

.nav-wrap{position:absolute;top:18px;left:0;right:0;display:flex;justify-content:center;z-index:20}
.nav{display:flex;align-items:center;gap:28px;padding:10px 18px;border-radius:999px;border:1px solid var(--mid);background:rgba(28,17,12,0.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nav .brand{display:flex;align-items:center;gap:10px;padding-right:16px;border-right:1px solid var(--mid)}
.nav .brand-word{font-family:var(--display);font-size:13px;letter-spacing:0.18em;text-transform:uppercase}
.nav .links{display:flex;gap:22px;font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--on-dark-muted)}
.nav .links a:hover,.nav .links a.active{color:var(--on-dark)}
.nav .tail{padding-left:16px;border-left:1px solid var(--mid);font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--on-dark-muted)}
@media (max-width:768px){
  .nav .links,.nav .tail{display:none}
  .nav{gap:12px}
  .nav .brand{border-right:0;padding-right:0}
}
footer{border-top:1px solid var(--mid);padding:72px 24px 0}
.foot-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:40px;padding-bottom:56px;align-items:flex-start}
.foot-brand{display:flex;flex-direction:column;gap:18px}
.foot-brand .wm{font-family:var(--display);font-size:20px;letter-spacing:0.2em;text-transform:uppercase}
.foot-col h5{font-family:var(--display);font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--on-dark-muted);margin-bottom:18px;font-weight:400}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.foot-col li{font-size:12px;color:var(--cream);letter-spacing:0.04em}
.foot-legal{border-top:1px solid var(--mid);max-width:var(--max);margin:0 auto;padding:22px 0 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--on-dark-muted)}
.foot-watermark{position:relative;overflow:hidden;padding:40px 0 48px;text-align:center}
.foot-watermark .wm{font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:-0.02em;font-size:clamp(36px,6vw,72px);color:rgba(241,232,220,0.28);line-height:1}
@media (max-width:900px){
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media (max-width:560px){
  .foot-grid{grid-template-columns:1fr}
}

  /* --- Protocols dropdown ------------------------------------------------
     The primary menu now carries one level of children (header.php passes
     depth 2). Only "Protocols" uses it: its six children are the six
     product_cat archives. Each child is tagged with a seq-cat-* class when
     the menu item is created, which is what colours the dot.
     Colours are hardcoded rather than tokenised because chrome.css — which
     dresses the calculator page — carries neither --mid nor the category
     tokens, and this block has to be byte-identical across all six
     stylesheets that render the nav.
     Below 768px .nav .links is display:none, so there is no hover surface
     on phones and nothing to do there.                                    */
  .nav .links li{position:relative}

  .nav .links .menu-item-has-children > a::after{
    content:"";display:inline-block;width:4px;height:4px;margin-left:8px;
    border-right:1px solid currentColor;border-bottom:1px solid currentColor;
    transform:rotate(45deg) translateY(-2px);opacity:.7;
    transition:transform .22s ease,opacity .22s ease}
  .nav .links .menu-item-has-children:hover > a::after,
  .nav .links .menu-item-has-children:focus-within > a::after{
    transform:rotate(225deg) translateY(-2px);opacity:1}

  .nav .links .sub-menu{
    position:absolute;top:calc(100% + 16px);left:50%;
    transform:translateX(-50%) translateY(-6px);
    min-width:212px;margin:0;padding:10px;list-style:none;
    display:flex;flex-direction:column;gap:2px;
    border-radius:18px;border:1px solid var(--mid,#3E2A22);
    background:rgba(28,17,12,0.92);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    box-shadow:0 18px 40px rgba(0,0,0,.35);
    opacity:0;visibility:hidden;pointer-events:none;z-index:30;
    transition:opacity .22s ease,transform .22s ease,visibility .22s}

  /* Invisible bridge over the 16px gap, so the panel does not close while
     the pointer travels from the parent item down into it. */
  .nav .links .sub-menu::before{
    content:"";position:absolute;left:0;right:0;top:-18px;height:18px}

  .nav .links .menu-item-has-children:hover > .sub-menu,
  .nav .links .menu-item-has-children:focus-within > .sub-menu{
    opacity:1;visibility:visible;pointer-events:auto;
    transform:translateX(-50%) translateY(0)}

  .nav .links .sub-menu li{display:block}
  .nav .links .sub-menu a{
    display:flex;align-items:center;gap:11px;
    padding:9px 12px;border-radius:11px;
    font-size:10.5px;letter-spacing:0.16em;text-transform:uppercase;
    color:var(--on-dark-muted);white-space:nowrap;
    transition:background-color .2s ease,color .2s ease}
  .nav .links .sub-menu a::before{
    content:"";flex:none;width:9px;height:9px;border-radius:50%;
    background:currentColor;box-shadow:0 0 0 1px rgba(241,232,220,.22)}
  .nav .links .sub-menu a:hover,
  .nav .links .sub-menu a:focus-visible{
    background:rgba(241,232,220,.08);color:var(--on-dark)}

  .nav .links .seq-cat-repair     > a::before{background:#742406}
  .nav .links .seq-cat-regenerate > a::before{background:#797559}
  .nav .links .seq-cat-revive     > a::before{background:#d8cbb0}
  .nav .links .seq-cat-resolve    > a::before{background:#f1e8dc}
  .nav .links .seq-cat-regain     > a::before{background:#d48057}
  .nav .links .seq-cat-restore    > a::before{background:#291a14}
