/* Cia. AMORas · navegação mobile v2 (até 920px).
   Caminho claro, progressão editorial e iconografia na paleta da companhia. */
.mobile-flow-dock,.mobile-flow-context{display:none}
@media(max-width:920px){
  :root{--flow-wine:#6d243c;--flow-brown:#4a3028;--flow-orange:#e98336;--flow-cream:#fff9ef}
  body{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  .site-header{z-index:56}
  .mobile-nav{z-index:58;scrollbar-width:thin}
  .mobile-nav a{transition:background .23s,color .23s,transform .23s}
  .mobile-nav:not([hidden]){animation:mobile-menu-slide .27s cubic-bezier(.18,.8,.21,1) both}
  @keyframes mobile-menu-slide{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
  body.menu-open::after{z-index:55}
  body.menu-open .mobile-flow-dock,body.menu-open .mobile-flow-context{opacity:0;pointer-events:none}
  .mobile-flow-dock{
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
    position:fixed;bottom:calc(9px + env(safe-area-inset-bottom,0px));
    left:12px;right:12px;z-index:53;
    padding:11px 5px 7px;min-height:70px;
    background:rgba(255,250,243,.975);
    border:1px solid #e2cdb8;border-radius:23px;
    box-shadow:0 13px 36px #3d241d33,0 2px 7px #59362314;
    backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);
    transition:opacity .23s,transform .25s;
    isolation:isolate;overflow:hidden;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-flow-dock:before{
    content:"";position:absolute;left:0;top:0;height:3px;
    width:var(--journey-progress,0%);
    background:linear-gradient(90deg,#aa7644,#e78534,#6d243c);
    z-index:3;transition:width .15s linear;pointer-events:none;
  }
  .mobile-flow-link,.mobile-flow-more{
    display:flex;min-width:0;flex-direction:column;
    align-items:center;justify-content:center;gap:4px;
    padding:4px 2px 5px;border:0;border-radius:15px;
    background:transparent;color:#775b50;text-decoration:none;
    font-family:'DM Sans',sans-serif;font-weight:700;
    font-size:9px;line-height:1.3;letter-spacing:.012em;cursor:pointer;
    position:relative;outline-offset:1px;
    transition:background .23s,color .23s,transform .23s;
  }
  .mobile-flow-link>svg,.mobile-flow-more>svg{
    width:21px;height:21px;flex:none;stroke:currentColor;fill:none;
    stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;
    transition:transform .22s ease;
  }
  .mobile-flow-link[aria-current="page"],.mobile-flow-more[aria-expanded="true"],
  .mobile-flow-more.is-current{
    background:linear-gradient(150deg,#7c3148,#622338);
    color:#fff7ec;box-shadow:0 4px 12px #6d243c2c;
  }
  .mobile-flow-link[aria-current="page"]>svg{transform:translateY(-1px) scale(1.045)}
  .mobile-flow-link:active,.mobile-flow-more:active{transform:scale(.95)}
  .mobile-flow-link:focus-visible,.mobile-flow-more:focus-visible,
  .mobile-flow-context button:focus-visible,.mobile-flow-context a:focus-visible{
    outline:3px solid #db8b49;outline-offset:2px;
  }
  /* O selo nativo do Hatchable é fixo no canto inferior direito.
     Com ele presente, deslocar os controles para não ocultar Contato e Mais.
     Se for desativado no painel, a barra volta automaticamente ao rodapé. */
  body:has(#hb-badge){padding-bottom:calc(132px + env(safe-area-inset-bottom,0px))}
  body:has(#hb-badge) .mobile-flow-dock{bottom:calc(52px + env(safe-area-inset-bottom,0px))}
  body:has(#hb-badge) .mobile-flow-context{bottom:calc(134px + env(safe-area-inset-bottom,0px))}
  .mobile-flow-context{
    display:flex;align-items:center;justify-content:space-between;
    position:fixed;left:17px;right:71px;
    bottom:calc(91px + env(safe-area-inset-bottom,0px));
    z-index:52;gap:8px;min-height:42px;
    padding:5px 6px 5px 12px;border-radius:16px;
    color:#fff6e8;background:linear-gradient(110deg,#593024,#6d243c);
    box-shadow:0 10px 24px #37211c30;
    opacity:0;transform:translateY(9px);
    pointer-events:none;
    transition:opacity .27s ease,transform .27s ease;
    max-width:490px;
  }
  .mobile-flow-context.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}
  .mobile-flow-context-back{
    display:grid;place-items:center;flex:none;width:25px;height:27px;
    color:#ffce92;background:#ffffff1d;border:1px solid #fff6e839;
    border-radius:9px;text-decoration:none;
  }
  .mobile-flow-context-back svg{width:19px;height:19px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .mobile-flow-context-symbol{
    display:block;flex:none;width:20px;height:20px;
    background:#f2c285;
    -webkit-mask:url("/assets/adinkra/sankofa-two.svg") center/contain no-repeat;
    mask:url("/assets/adinkra/sankofa-two.svg") center/contain no-repeat;
  }
  .mobile-flow-context-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}
  .mobile-flow-context-kicker{
    font-family:'DM Sans',sans-serif;font-size:8px;font-weight:700;
    color:#e6ad7b;letter-spacing:.1em;line-height:1.4;
    text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .mobile-flow-context-stage{
    display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    font-family:'DM Sans',sans-serif;font-size:11px;font-weight:700;line-height:1.3;
  }
  .mobile-flow-context button{
    width:31px;height:31px;display:grid;place-items:center;
    flex:none;color:#fff5e6;background:#ffffff1f;
    border:1px solid #fff8e849;border-radius:11px;
    font-size:15px;cursor:pointer;padding:0;
  }
  .mobile-flow-context button svg{display:block;stroke:currentColor;fill:none;width:17px;height:17px;stroke-width:1.9}
  .back-top{
    display:none!important; /* substituir pela ação de topo no acompanhamento de leitura */
  }
  /* Orientação nas páginas internas: breadcrumbs como um percurso tátil. */
  .breadcrumbs{gap:7px!important;align-items:center;flex-wrap:wrap}
  .breadcrumbs a{
    display:inline-flex;align-items:center;min-height:34px;
    padding:5px 11px;border-radius:12px;
    background:#f8ebdc;border:1px solid #ead8c6;
    font-size:11px;font-weight:700;color:#6d243c!important;
    text-decoration:none;
  }
  .breadcrumbs a:focus-visible{outline:2px solid #e98336;outline-offset:2px}
  .breadcrumbs>span:not(.mobile-visual-arrow){
    color:#b78464;font-size:14px;margin-inline:1px;
  }
  /* Guias de seções existentes passam a destacar o capítulo atual */
  .ih-page-nav button,.oe-nav button,.cv-nav button,.an-nav button{
    position:relative;border:1px solid #e2c7b2!important;
    background:#fff9f0!important;color:#6d243c!important;
    border-radius:16px!important;padding:11px 14px!important;
    box-shadow:0 3px 12px #51312610;
    transition:background .3s,color .3s,transform .25s,box-shadow .3s!important;
    min-height:44px!important;line-height:1.35!important;
  }
  .ih-page-nav button.is-chapter-active,
  .oe-nav button.is-chapter-active,
  .cv-nav button.is-chapter-active,
  .an-nav button.is-chapter-active{
    background:#6d243c!important;color:#fff8ef!important;
    border-color:#6d243c!important;
    box-shadow:0 7px 18px #6d243c34;
  }
  .ih-page-nav button:active,.oe-nav button:active,.cv-nav button:active,.an-nav button:active{transform:scale(.97)}
  .ih-page-nav,.oe-nav,.cv-nav,.an-nav{
    -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
    scroll-padding-inline:15px;
  }
  .mobile-visual-arrow{
    display:inline-flex!important;align-items:center;justify-content:center;
    vertical-align:-.2em;line-height:1;flex:0 0 auto;margin-inline:3px;
    width:1.15em;height:1.15em;color:inherit!important;
    background:transparent!important;border:0!important;
    font-size:1em;
  }
  .mobile-visual-arrow svg{
    display:block;width:100%;height:100%;
    fill:none;stroke:currentColor!important;stroke-width:1.85;
    stroke-linecap:round;stroke-linejoin:round;
  }
  .mobile-visual-arrow.dir-left svg{transform:rotate(180deg)}
  .mobile-visual-arrow.dir-down svg{transform:rotate(90deg)}
  .mobile-visual-arrow.dir-up svg{transform:rotate(-90deg)}
  .mobile-visual-arrow.dir-up-right svg{transform:rotate(-45deg)}
  /* Substituem controles/ícones com aparência padrão azul por círculos da marca */
  .bl-gallery-item>span,.round-arrow{
    background:#fff4e7!important;color:#6d243c!important;
    border:1px solid #e2c6ac!important;box-shadow:0 3px 8px #3e271a22;
    display:grid;place-items:center;
  }
  .bl-gallery-item>span .mobile-visual-arrow,.round-arrow .mobile-visual-arrow{width:18px;height:18px}
  .bl-lightbox .bl-prev,.bl-lightbox .bl-next,
  .oe-dialog-nav button,.cv-dialog-nav button,.an-dialog-nav button,
  .ginga-lightbox [data-ginga-prev],.ginga-lightbox [data-ginga-next]{
    min-width:44px!important;min-height:44px!important;width:44px!important;height:44px!important;
    border-radius:50%!important;display:grid;place-items:center;
    padding:0!important;background:#fff4e8!important;color:#6d243c!important;
    border:1px solid #ddbc9c!important;box-shadow:0 5px 20px #1f121a77!important;
  }
  .oe-dialog-nav button,.cv-dialog-nav button,.an-dialog-nav button{font-size:21px}
  .bl-lightbox .bl-prev,.bl-lightbox .bl-next{top:auto!important;bottom:12px}
  .bl-lightbox .bl-prev{left:18px}.bl-lightbox .bl-next{right:18px}
  .bl-lightbox .bl-close{min-width:44px;min-height:44px;background:#fff5e8;color:#6d243c;border:1px solid #e0c5af}
  .ginga-lightbox [data-ginga-prev]{left:12px!important}
  .ginga-lightbox [data-ginga-next]{right:12px!important}
  /* Overrides accidental native link blue inside image/navigation controls. */
  .project-card a,.experience-card a,.bl-gallery a,.cv-gallery a,
  .oe-gallery a,.an-gallery a{color:inherit}
  body:has(dialog[open]) .mobile-flow-dock,
  body:has(dialog[open]) .mobile-flow-context,
  body:has(.ginga-lightbox) .mobile-flow-dock,
  body:has(.ginga-lightbox) .mobile-flow-context{
    display:none!important;
  }
  body.mobile-keyboard-open .mobile-flow-dock,body.mobile-keyboard-open .mobile-flow-context{
    transform:translateY(120%)!important;opacity:0!important;pointer-events:none!important;
  }
  @media(prefers-reduced-motion:no-preference){
    .mobile-flow-dock{animation:mobile-dock-rise .45s cubic-bezier(.17,.8,.2,1) both}
    @keyframes mobile-dock-rise{from{opacity:0;transform:translateY(70px)}to{opacity:1;transform:translateY(0)}}
  }
}
@media(max-width:350px){
  .mobile-flow-dock{left:7px;right:7px;padding-inline:2px}
  .mobile-flow-link,.mobile-flow-more{font-size:8px}
  .mobile-flow-context{left:10px;right:64px}
}
@media(prefers-reduced-motion:reduce){
 .mobile-flow-dock,.mobile-flow-context,
 .mobile-flow-link,.mobile-flow-more,
 .mobile-nav,.mobile-visual-arrow,
 .ih-page-nav button,.oe-nav button,.cv-nav button,.an-nav button{
  animation:none!important;transition:none!important;
 }
}
@media print{.mobile-flow-dock,.mobile-flow-context{display:none!important}}