/* Moukangwe & Co. - final interaction and Positions layer */
html,body{background:var(--mc-bg,var(--mc-cream));color:var(--mc-text,var(--mc-ink))}
body.mc-template{overflow-x:hidden;transition:background-color .24s ease,color .24s ease}

/* Cross-document "ledger" continuity. Unsupported browsers ignore this and navigate natively. */
@view-transition{navigation:auto}
.mc-site-header{view-transition-name:mc-header}
::view-transition-group(root){animation-duration:.22s;animation-timing-function:cubic-bezier(.22,.61,.36,1)}
::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;backface-visibility:hidden}
::view-transition-old(root){animation:mc-ledger-close .12s cubic-bezier(.4,0,.2,1) both}
::view-transition-new(root){animation:mc-ledger-open .22s cubic-bezier(.22,.61,.36,1) both;box-shadow:inset 0 1px 0 rgba(185,155,107,.42)}
::view-transition-old(mc-header),::view-transition-new(mc-header){animation-duration:.11s;mix-blend-mode:normal}
@keyframes mc-ledger-close{
  0%{opacity:1;clip-path:inset(0 0 0 0)}
  100%{opacity:.22;clip-path:inset(100% 0 0 0)}
}
@keyframes mc-ledger-open{
  0%{opacity:.82;clip-path:inset(0 0 100% 0)}
  45%{opacity:1}
  100%{opacity:1;clip-path:inset(0 0 0 0)}
}

.mc-site-header{position:sticky;top:0;z-index:10000;background:rgba(24,21,36,.975);color:var(--mc-cream);border-bottom:1px solid rgba(185,155,107,.17);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:background-color .22s ease,border-color .22s ease}
.mc-site-header.is-scrolled{background:rgba(16,14,24,.988);border-bottom-color:rgba(185,155,107,.27)}
.mc-header-controls{display:flex;align-items:center;gap:8px}
.mc-site-footer{background:var(--mc-navy);color:var(--mc-cream);padding:clamp(3.5rem,6vw,6rem) 0;border-top:1px solid rgba(185,155,107,.18)}
.mc-site-footer a{color:var(--mc-gold)}
.mc-skip-link{position:fixed;left:16px;top:12px;z-index:2147483647;padding:10px 14px;background:var(--mc-gold);color:var(--mc-navy);transform:translateY(-160%);transition:transform .16s ease}.mc-skip-link:focus{transform:translateY(0)}

.mc-primary-nav a{position:relative}
.mc-primary-nav a:not(.mc-nav-screening)::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--mc-gold);transform:scaleX(0);transform-origin:right;transition:transform .24s cubic-bezier(.22,.61,.36,1)}
.mc-primary-nav a:hover::after,.mc-primary-nav a:focus-visible::after,.mc-primary-nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.mc-nav-screening{transition:background-color .19s ease,color .19s ease,border-color .19s ease,transform .19s ease}.mc-nav-screening:hover,.mc-nav-screening:focus-visible{background:var(--mc-gold);color:var(--mc-navy)!important;transform:translateY(-1px)}
.mc-button{transition:transform .2s cubic-bezier(.22,.61,.36,1),background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.mc-button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(24,21,36,.08)}
.mc-button-light:hover,.mc-button-light:focus-visible{background:var(--mc-gold);border-color:var(--mc-gold);color:var(--mc-navy)!important;box-shadow:0 12px 28px rgba(0,0,0,.12)}


/* Authority Record: one verification pass, never a looping decoration. */
.js-mc-motion body.mc-intro-ready .mc-authority-record::after{animation:mc-record-verify .7s cubic-bezier(.22,.61,.36,1) .55s both}
@keyframes mc-record-verify{from{transform:scaleX(0);opacity:.35}to{transform:scaleX(1);opacity:1}}

/* Motion is part of the record language, not generic fade-and-rise decoration. */
.js-mc-motion .mc-intro-reveal{opacity:0;clip-path:inset(0 0 10% 0);transition:opacity .42s cubic-bezier(.22,.61,.36,1),clip-path .46s cubic-bezier(.22,.61,.36,1);transition-delay:var(--mc-intro-delay,0ms)}
.js-mc-motion body.mc-intro-ready .mc-intro-reveal{opacity:1;clip-path:inset(0 0 0 0)}

/* Scroll-scrubbed registration rules are progressive enhancement; content is never hidden waiting for motion. */
@supports (animation-timeline:view()){
  .mc-section-marker::after{content:"";display:block;width:100%;height:1px;margin-top:16px;background:var(--mc-gold-strong);transform:scaleX(0);transform-origin:left;animation:mc-register-rule linear both;animation-timeline:view();animation-range:entry 8% cover 34%}
  .mc-authority-chain article::before{transform:scaleX(.14);transform-origin:left;animation:mc-register-rule linear both;animation-timeline:view();animation-range:entry 6% cover 38%}
  .mc-chain-link i{transform:scaleX(.05);transform-origin:left;animation:mc-register-rule linear both;animation-timeline:view();animation-range:entry 12% cover 42%}
  @keyframes mc-register-rule{to{transform:scaleX(1)}}
}

.mc-process-rail article>span{transition:transform .24s cubic-bezier(.22,.61,.36,1),color .24s ease}.mc-process-rail article:hover>span{transform:translateX(5px);color:var(--mc-gold)}
.mc-position-status span:first-child::before{content:"";display:inline-block;width:5px;height:5px;margin-right:8px;border-radius:50%;background:var(--mc-gold);box-shadow:0 0 0 0 rgba(185,155,107,.3);animation:mc-status-pulse 4s ease-out infinite}
@keyframes mc-status-pulse{0%,68%,100%{box-shadow:0 0 0 0 rgba(185,155,107,0)}82%{box-shadow:0 0 0 5px rgba(185,155,107,.06)}}

/* Positions are a controlled governance record, not a conventional blog. */
.mc-position-index{border-top:1px solid var(--mc-line)}
.mc-position-index-row{display:grid;grid-template-columns:70px minmax(0,1fr) 42px;gap:clamp(22px,4vw,54px);align-items:start;padding:clamp(34px,5vw,62px) 0;border-bottom:1px solid var(--mc-line);color:inherit!important;text-decoration:none!important;transition:background-color .22s ease,padding-left .22s cubic-bezier(.22,.61,.36,1)}
.mc-position-index-row:hover{padding-left:10px}
.mc-position-index-no{font-family:var(--mc-font-display);font-size:1.05rem;color:var(--mc-gold-strong)}
.mc-position-meta{display:flex;flex-wrap:wrap;gap:12px 22px;margin-bottom:14px;color:var(--mc-muted,var(--mc-slate));font-size:.66rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.mc-position-index-row h2{max-width:20ch;margin-bottom:14px;font-size:clamp(1.9rem,3.8vw,3.8rem)}
.mc-position-index-row p{max-width:760px;color:var(--mc-muted,var(--mc-slate));font-size:1rem;line-height:1.75}
.mc-position-index-arrow{justify-self:end;color:var(--mc-gold-strong);font-size:1.4rem;transition:transform .22s ease}.mc-position-index-row:hover .mc-position-index-arrow{transform:translate(4px,-4px)}
.mc-position-pagination{display:flex;justify-content:space-between;padding-top:34px}
.mc-position-pagination a,.mc-position-pagination a:visited{color:var(--mc-heading,var(--mc-navy));font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.mc-position-reading{max-width:900px}.mc-position-hero{padding-top:clamp(60px,8vw,120px);padding-bottom:clamp(64px,8vw,112px)}
.mc-position-page h1{max-width:15ch}.mc-position-body{font-size:1.06rem;line-height:1.9}
.mc-position-body h2{margin-top:2.4em;font-size:clamp(1.7rem,3vw,2.7rem)}.mc-position-body h3{margin-top:2em}
.mc-position-body blockquote{margin:2.6rem 0;padding:1.5rem 0 1.5rem 2rem;border-left:1px solid var(--mc-gold);font-family:var(--mc-font-display);font-size:clamp(1.35rem,2.6vw,2rem);line-height:1.45}
.mc-position-body img{max-width:100%;height:auto}.mc-position-close{display:flex;justify-content:space-between;gap:20px;margin:clamp(50px,7vw,90px) 0 28px;padding-top:18px;border-top:1px solid var(--mc-line);color:var(--mc-muted,var(--mc-slate));font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.mc-reading-progress span{display:block;width:100%;height:100%;transform:scaleX(0);transform-origin:left center;will-change:transform}

/* Zoho Form containment. The template owns the frame; the form remains editable in Zoho. */
.mc-zoho-form-slot{min-height:360px}.mc-zoho-form-slot>.zpelement:first-child,.mc-zoho-form-slot>.zpsection:first-child{margin-top:0!important}.mc-zoho-form-slot iframe{width:100%!important;max-width:100%!important;border:0!important}.mc-zoho-form-slot input,.mc-zoho-form-slot select,.mc-zoho-form-slot textarea,.mc-zoho-form-slot button{font-family:var(--mc-font-sans)!important}

/* Alignment Mark cursor. The native cursor is hidden only after successful JS initialization. */
@media (hover:hover) and (pointer:fine){
  html.mc-cursor-enabled .mc-site-page,html.mc-cursor-enabled .mc-site-header,html.mc-cursor-enabled .mc-site-footer{cursor:none}
  html.mc-cursor-enabled .mc-site-page input,html.mc-cursor-enabled .mc-site-page textarea,html.mc-cursor-enabled .mc-site-page select,html.mc-cursor-enabled .mc-site-page option,html.mc-cursor-enabled .mc-site-page label,html.mc-cursor-enabled .mc-site-page [contenteditable="true"],html.mc-cursor-enabled .mc-zoho-form-slot,html.mc-cursor-enabled .mc-zoho-form-slot *{cursor:auto}
  #mc-alignment-cursor,#mc-alignment-dot{position:fixed;left:0;top:0;pointer-events:none;z-index:12000;opacity:0;will-change:transform,opacity}
  #mc-alignment-cursor{--mc-cursor-stroke:var(--mc-gold-strong);width:21px;height:21px;transition:opacity .07s ease}
  #mc-alignment-dot{--mc-cursor-stroke:var(--mc-gold-strong);width:2px;height:2px;border-radius:50%;background:var(--mc-cursor-stroke);box-shadow:0 0 0 .5px rgba(24,21,36,.12);transition:opacity .07s ease,background-color .08s ease}
  #mc-alignment-cursor.is-visible,#mc-alignment-dot.is-visible{opacity:1}
  #mc-alignment-cursor.is-on-dark,#mc-alignment-dot.is-on-dark{--mc-cursor-stroke:#c3a36e}
  #mc-alignment-cursor svg{width:100%;height:100%;overflow:visible}
  #mc-alignment-cursor .mc-reg-a,#mc-alignment-cursor .mc-reg-b{fill:none;stroke:var(--mc-cursor-stroke);vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;transition:transform .11s cubic-bezier(.2,.8,.2,1),opacity .11s ease,stroke .11s ease}
  #mc-alignment-cursor .mc-reg-a{stroke-width:.72;opacity:.46}
  #mc-alignment-cursor .mc-reg-b{stroke-width:.82;opacity:.84;transform:translate(.9px,-.75px)}
  #mc-alignment-cursor .mc-true-centre{fill:var(--mc-cursor-stroke);opacity:0;transform-box:fill-box;transform-origin:center;transition:opacity .08s ease}
  #mc-alignment-cursor.is-reviewing .mc-reg-a{opacity:.66}
  #mc-alignment-cursor.is-reviewing .mc-reg-b{transform:translate(0,0);opacity:1;stroke:var(--mc-cursor-stroke)}
  #mc-alignment-cursor.is-reviewing .mc-true-centre{opacity:.92;animation:mc-centre-confirm .24s ease-out 1}
  #mc-alignment-cursor.is-pressed .mc-reg-a,#mc-alignment-cursor.is-pressed .mc-reg-b{transform:scale(.91)}
  #mc-alignment-dot.is-pressed{opacity:.72}
  @keyframes mc-centre-confirm{0%{opacity:0;transform:scale(.3)}55%{opacity:1;transform:scale(1.35)}100%{opacity:.92;transform:scale(1)}}
}

@media(max-width:920px){
  .mc-site-header{position:sticky}.mc-header-controls{margin-left:auto}
  .mc-site-header.is-menu-open .mc-menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .mc-site-header.is-menu-open .mc-menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .mc-header-actions{display:block!important;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s ease,transform .2s cubic-bezier(.22,.61,.36,1),visibility .2s}
  .mc-site-header.is-menu-open .mc-header-actions{opacity:1;visibility:visible;transform:none}
}
@media(max-width:620px){.mc-position-index-row{grid-template-columns:42px minmax(0,1fr);gap:18px}.mc-position-index-arrow{display:none}.mc-position-index-row:hover{padding-left:0}}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js-mc-motion .mc-intro-reveal{opacity:1!important;clip-path:none!important}
  .mc-authority-record::after,.mc-position-status span:first-child::before{animation:none!important}
  #mc-alignment-cursor,#mc-alignment-dot{display:none!important}
  .mc-site-page,.mc-site-header,.mc-site-footer{cursor:auto!important}
}
